Я искал решение для этого, но не могу найти его нигде.Анализ XML с помощью PHP DOMDocument
Я пытаюсь разобрать файл XML
, но некоторые TagNames
отсутствуют в XML
. Некоторые сообщения предполагают использование длины объекта, но это тоже не работает.
if ($xmlObject->item($i)->getElementsByTagName('image1')->item(0)->childNodes->item(0)->length > 0) {
$product_image1 = $xmlObject->item($i)->getElementsByTagName('image1')->item(0)->childNodes->item(0)->nodeValue;
} else {
$product_image1 = "";
}
Notice: Trying to get property of non-object in /home/s/public_html/import_xml.php on line 72
Fatal error: Call to a member function item() on a non-object in /home/s/public_html/import_xml.php on line 72
Ошибка в том, что <image1>
отсутствует в XML.
Любые идеи по исправлению?
Необходимо, чтобы операторы if, чтобы проверить, существует ли каждый элемент в цепочке xml, которую вы вызываете. –
Это то, что я пытался сделать с длиной> 0. Так как это не сработало, как я могу проверить, существует ли он? если isset? –
все в порядке, но вы не можете использовать -> length, если какой-либо из родительских узлов не существует. вы в основном должны проверять каждый уровень дерева, чтобы убедиться, что он действительно существует. –