Boş kendini kapanış etiketleri üzerinde PHP Dom XML Ayrıştırma

2 Cevap php

HI Guys, I'm using DOM to parse an xml file. And I am having trouble catching an error that throws when the XML tag is empty and self closed.

eg. <Title />

$xml=("http://www.exampleUrl.com/xmltoparse.xml");
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);

$x=$xmlDoc->getElementsByTagName('Root');
for ($i=0; $i<=10; $i++)
{
$id=$x->item($i)->getElementsByTagName('Title')
->item(0)->childNodes->item(0)->nodeValue;

The error I am getting is: "Trying to get property of non-object"

Yardım bekleriz.

2 Cevap

Boş etiketi böylece son satırında ikinci öğe (0) geçerli bir nesneyi döndürmek için gitmiyor, tüm alt düğümlerini olacak, ve bu yüzden nodeValue ile onun değerini almak için çalışıyorsunuz değil sen hatayı atacak üzerinde çalışmak için uygun bir nesne yok çünkü alıyorum.

Eğer alıyorsanız XML hatası etiketi kendiliğinden kapanan olması nedeniyle değil; geçerli XML bulunuyor. (Bilinen bir değer $ x-> uzunluğunda, kapalı döngü tabanına, yine de daha iyi yazmak için kötü bir yol olan) nedeniyle Title adlı bir etiket bulmak değil muhtemelen, ya da 10 tanesi olmak var dönmedi.