如何解决在SimpleXML和检索HREF节点值方面需要帮助
|| 我正在尝试检索HREF并使用SimpleXML将其回显,但我不断收到以下错误消息。 警告:为...中的foreach()提供了无效的参数<?php
$url = \'file.xml\';
foreach(simplexml_load_file($url)->info->content->item as $it) {
echo $it->site-page-href;
}
?>
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<info>
<content>
<item>
<site>
<page>
<href>http://domain.com</href>
</page>
</site>
</item>
</content>
<info>
谁能发现问题?
解决方法
echo $it->site-page-href;
应该是echo
$it->site->page->href;
您的
结束标签应为</info>
您不应该使用->info
已经在根元素上了。
即。
simplexml_load_file($url)->content->item
不
simplexml_load_file($url)->info->content->item
顺便说一句,如果使用xpath,可以更轻松地找到所有href节点。
$xml = simplexml_load_file($url);
$href = $xml->xpath(\".//href\");
foreach($href as $h) {
var_dump($h);
}
, 首先使用
echo $it->site->page->href;
代替
echo $it->site-page-href;
并在XML文件中以</info>
结束<info>
标记。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。