2013-02-25 3 views
0

Я не могу найти ничего полезного в Google и здесь. У меня проблемы с разбором файла xml.xml разбор с ошибкой php

$xml = new DOMDocument(); 
    $xml->load('racunixml.xml'); 
    $searchNode = $xml->getElementsByTagName("racun"); 
    foreach($searchNode as $searchNode) 
    { 
     $xmlNaruc=$searchNode->getElementsByTagName('narucitelj'); 
     $valNaruc = $xmlNaruc->getAttribute('naziv'); 
     $valID = $searchNode->getAttribute('redbr'); 
     $valDate = $searchNode->getAttribute("date"); 
     $valPaci = $searchNode->getAttribute("pacijent"); 
    } 

возвращает эту ошибку со ссылкой на линии: $valNaruc = $xmlNaruc->getAttribute('naziv');

Фатальная ошибка: Вызов неопределенной метод DOMNodeList :: GetAttribute()

+0

Вы не задающих 'xmlNaruc' где-нибудь? –

ответ

2

если вы звоните :: getElementsByTagName() (обратите внимание на «s» в нем - множественное число) он всегда возвращает DOMNodeList. И он подсказывает вам вежливо с сообщением об ошибке. И если мы посмотрим на руководство http://www.php.net/manual/en/class.domnodelist.php, этот класс не имеет метода :: getAttribute(). Но DOMNode имеет и то, что вам нужно сделать здесь Переберите результаты, возвращаемые getElementsByTagName() в Еогеасп:

foreach($searchNode->getElementsByTagName('narucitelj') as $xmlNaruc) { 
    $valNaruc = $xmlNaruc->getAttribute('naziv'); 
    ..... 
} 
Смежные вопросы