我正在尝试使用下面的代码循环 XML 中的多个项目。
$xml = get_data('the-url');
$data = simplexml_load_string($xml);
foreach($data->item AS $item) {
foreach($item AS $test) {
var_dump($test);
}
}
XML 看起来像这样:
<xml>
<item>
<name>...</name>
<chapter>...</chapter>
<text>
...
</text>
</item>
<item>
<name>...</name>
<chapter>...</chapter>
<text>
...
</text>
</item>
<item>
<name>...</name>
<chapter>...</chapter>
<text>
...
</text>
</item>
<item>
<name>...</name>
<chapter>...</chapter>
<text>
...
</text>
</item>
<item>
<name>...</name>
<chapter>...</chapter>
<text>
...
</text>
</item>
</xml>
就目前的情况而言,var_dump($test)
打印这个:
object(SimpleXMLElement)#7 (0) { } object(SimpleXMLElement)#8 (0) { }
object(SimpleXMLElement)#7 (0) { } object(SimpleXMLElement)#8 (0) { }
object(SimpleXMLElement)#7 (0) { } object(SimpleXMLElement)#8 (0) { }
object(SimpleXMLElement)#7 (0) { } object(SimpleXMLElement)#8 (0) { }
object(SimpleXMLElement)#7 (0) { } object(SimpleXMLElement)#8 (0) { }
object(SimpleXMLElement)#7 (0) { } object(SimpleXMLElement)#8 (0) { }
object(SimpleXMLElement)#7 (0) { } object(SimpleXMLElement)#8 (0) { } ...
我应该怎么做才能让我的代码循环所有项目并打印值?
尝试这个:
$xml_content = file_get_contents('http://url/feed.xml');
$data = simplexml_load_string($xml_content);
foreach ($data->item as $item) {
var_dump($item->bookname);
}
如果需要,您还可以将整个 $item 转换为数组:
foreach ($data->item as $item) {
$itemArray = (array) $item;
var_dump($itemArray);
}
当您需要首先将其转换为字符串以返回文本值时,您正在转储对象。
另外,我不认为第二个foreach
正在做任何事情或需要,所以我将其删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)