PHP: documentElement'in-> childNodes uyarısı

1 Cevap php
$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 />";
 }
}

Şimdi her 2 foreachta bu uyarı alıyorum:

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

Beyler yardım edin. Teşekkürler!

1 Cevap

Bazı düğümler çocuklar yok, bu yüzden (uyarı der gibi) foreach bir boş (geçersiz) argüman geçiyoruz.

Eğer geçerli düğüm herhangi bir çocuk olup olmadığını kontrol etmek gerekir uyarıları önlemek için. : Bunun için DOMNode::hasChildNodes() yöntemi kullanabilirsiniz

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