我正在尝试检索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>
有人能发现问题吗?
答案 0 :(得分:3)
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);
}
答案 1 :(得分:0)
首先使用
echo $it->site->page->href;
代替
echo $it->site-page-href;
并在XML文件中以<info>
结束</info>
标记。