• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php读xml,有问题,谢谢了。

php 搞代码 3年前 (2022-01-23) 14次浏览 已收录 0个评论
文章目录[隐藏]

xml文件是:

http://114.80.235.12http://114.80.236.202<b /><!---ecms  pageview_candidate -->

我的php代码是这样写的,但读不到。谢谢了

//2.读xml$xml_array=simplexml_load_file("wc.xml"); //将XML中的数据,读取到数组对象中foreach($xml_array AS $temp){echo "<pre class="prettyprint linenums">";	print_r($temp->f);echo "

“;}

我的目的是要读中间的那个二个http地址。谢谢了。

回复讨论(解决方案)

xpath=’//f[2]/text()’

xpath=’//f[2]/text()’

谢谢了,能不能再麻烦你说的明确一下,我百度了一个,没有东西

print_r($xml_array->a->f);

$s =<<< XMLhttp://114.80.235.12http://114.80.236.202<b />XML;$xml = simplexml_load_string($s);//正常遍历,需要确切的知道目标节点所在层次foreach($xml AS $temp){  foreach($temp->f as $v) echo "$v<br>xpath('//f') as $v) echo "$v<br>";

均可得到
http://114.80.235.12
http://114.80.236.202

[code=php]$s =<<< XML
<v time="180530" vi="1" ch="29" nls="0" title="监控实拍" code="qT4j-61ws-Q"

谢谢大哥相助。祝你天天快乐。
我想再加强学习一下,请问这是哪方面的知识?我应该搜索什么知识啊?谢谢了。

如果你 print_r($xml_array); 就可看到

SimpleXMLElement Object(    [@attributes] => Array        (            [time] => 180530            [vi] => 1            [ch] => 29            [nls] => 0            [<mark style="color:transparent">本%文来源gaodaimacom搞#^代%!码网@</mark>搞代gaodaima码title] => 监控实拍            [code] => qT4j-61ws-Q            [enable] => 1            [logo] => 0            [wt] => 0            [band] => 0        )    [a] => SimpleXMLElement Object        (            [f] => Array                (                    [0] => http://114.80.235.12                    [1] => http://114.80.236.202                )        )    [b] => SimpleXMLElement Object        (        ))

这样的结构,依此书写代码是很容易的。不再赘述

XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
你搜索 xpath 就可找到教程,比如 http://www.w3school.com.cn/xpath/

<?php$s =<<< XMLhttp://114.80.235.12http://114.80.236.202<b />XML; $doc = new DOMDocument();$doc->loadXML($s);$xpath = new DOMXPath($doc);$query = '//f[1]/text()';$entries = $xpath->evaluate($query, $doc);// foreach ($entries as $entry) var_dump($entry);foreach ($entries as $entry) echo $entry->data;$xml = simplexml_load_string($s);foreach($xml->xpath('//f[1]/text()') as $v) echo $v;?>

呃,是第二个地址吧?#1的才正确
//f[ 2]/text()
xpath的计数器是从1开始的


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php读xml,有问题,谢谢了。

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址