2012-04-18 2 views
-1

Я использую следующий код ...Ошибка при чтении XML-файла

// определить имя файла, мы хотим, чтобы написать и URL мы хотим загрузить с

$filename = 'capital_one.xml'; 
    $url = "http://feeds.perfb.com/index.php/[email protected]&PX=e90daba5ee2c6fd4d0c344fd61911f33&DISPLAYFORMAT=HEAD&REVERSEMAPXML=yes&PRODUCTDB_ID=294"; 



//this creates the file "feed download".xml and takes he contents from the URL and stores them into the file 
file_put_contents($filename,file_get_contents($url)); 

//create instance of XMLReader 
    $xmlReader = new XMLReader(); 

//read in xml file 
$xmlReader->open($filename); 

//loop to read in data 
while($xmlReader->read()) 
{ 
     //this initialises the xml parser 
     $dom = new DOMDocument(); 
     $domNode = $xmlReader->expand(); 
     $element = $dom->appendChild($domNode); 
     $domString = utf8_encode($dom->saveXML($element)); 
     $product = new SimpleXMLElement($domString); 

     //read in data 
     echo $product_code = $product->product_code; 


} 

я получил следующую ошибку

Catchable фатальная ошибка: Аргумент 1 передается DOMNode :: AppendChild() должен быть экземпляром DOMNode

пожалуйста, вы можете мне помочь?

+1

Вам нужно провести какое-то расследование самостоятельно и рассказать нам, что вы найдете. На какой строке возникает ошибка? Что вы нашли при выполнении поиска в тексте сообщения об ошибке? Вы читали о средствах обработки ошибок модуля? –

ответ

1

Если expand() не возвращает DOMNode, произошла ошибка, и вместо этого возвращается FALSE.

+0

Что мне нужно изменить в моем коде, пожалуйста, помогите – banjali

+0

Я бы предложил добавить 'error_reporting (-1)' и 'ini_set ('display_errors', 'On')' вверху, чтобы узнать, были ли зарегистрированы какие-либо ошибки. –

+0

Теперь я получил ошибку. Предупреждение: XMLReader :: read(): /var/www/visitwembley.co.uk/development/capital_one.xml:86: ошибка парсера: xmlParseEntityRef: нет имени в /var/www/visitwembley.co. uk/development/getxmldata.php в строке 33 Предупреждение: XMLReader :: read(): Путешествия и отдых в /var/www/visitwembley.co.uk/development/getxmldata.php в строке 33 Предупреждение: XMLReader :: read() :^in /var/www/visitwembley.co.uk/development/getxmldata.php в строке 33 Предупреждение: XMLReader :: read(): ошибка при чтении в /var/www/visitwembley.co.uk/development/ getxmldata.php в строке 33 – banjali

Смежные вопросы