Aviso do PHP: documentElement-> childNodes

$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 . "
"; } }

Agora eu recebo este aviso em cada 2º parágrafo:

 Warning: Invalid argument supplied for foreach() in file_example.php on line 14 

Ajude os caras. Obrigado!

Alguns nós não têm filhos, então você está passando um argumento nulo (inválido) para o foreach (assim como o aviso diz).

Para evitar os avisos, você precisa verificar se o nó atual tem filhos. Para isso, você pode usar o DOMNode::hasChildNodes() :

 foreach($items->childNodes as $item) { if ($item->hasChildNodes()) { $childs = $item->childNodes; foreach($childs as $i) { echo $i->nodeValue . "
"; } } }