$xml = file_get_contents(example.com);
$dom = new DomDocument();
$dom->loadXML($xml);
$items = $dom->documentElement;
foreach($items->childNodes as $item) {
$childs = $item->childNodes;
foreach($childs as $i) {
echo $i->nodeValue . "<br />";
}
}
Run Code Online (Sandbox Code Playgroud)
现在我在每个第二个foreach中得到这个警告:
Warning: Invalid argument supplied for foreach() in file_example.php on line 14
Run Code Online (Sandbox Code Playgroud)
请帮帮我们 谢谢!
有些节点没有子节点,因此您将一个null(无效)参数传递给foreach(就像警告所说的那样).
要避免警告,您需要检查当前节点是否有子节点.为此,您可以使用以下DOMNode::hasChildNodes()方法:
foreach($items->childNodes as $item) {
if ($item->hasChildNodes()) {
$childs = $item->childNodes;
foreach($childs as $i) {
echo $i->nodeValue . "<br />";
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19212 次 |
| 最近记录: |