2010-06-17 10 views
0

Я пытаюсь получить некоторую информацию (itemID, title, price и mileage) для нескольких списков с сайта eBay, используя их API. До сих пор я получил this доPHP DOM, получить значения из XML-документа, PHP XML

Я сохранил документ как .xml файла с помощью PHP CURL и теперь мне нужно получить/извлекать значение (itemID, title, price и mileage) в массивы и хранить их в базе данных.

К сожалению, я никогда не работал с PHP DOM, и я не могу понять, как извлечь значения. Я попытался следовать the tutorial found on IBM website, но я не имел успеха. Некоторая помощь будет высоко оценена.

+0

'simplexml' это самый простой способ извлечения данных XML в PHP: http://www.php.net/simplexml_load_file –

+0

 $doc = new DOMDocument(); $doc->load('api.xml'); $items = $doc->getElementsByTagName("GetMultipleItemsResponse"); foreach($GetMultipleItemsResponse as $Item) { $itemID = $Item->getElementsByTagName("ItemID"); $itemID = $Item->item(0)->nodeValue; } echo $itemID; 
Michael

+0

, который должен быть ответом вместо комментарий. – Sjoerd

ответ

2

Вот пример кода, чтобы получить ItemIDs из файла XML:

<?php 
$doc = new DomDocument(); 
$doc->load('a.xml'); 
$response = $doc->getElementsByTagName('GetMultipleItemsResponse')->item(0); 
$items = $doc->getElementsByTagName('Item'); 
foreach ($items as $item) 
{ 
    $itemID = $item->getElementsByTagName('ItemID')->item(0)->nodeValue; 
    echo $itemID."\n"; 
} 
?> 
  • $doc->getElementsByTagName() возвращает DOMNodeList. Он может использоваться в цикле foreach, и он имеет метод item().
  • A DomNodeList будет содержать все соответствующие элементы. Если вы знаете, что есть только один элемент, вы можете получить это с помощью ->item(0)
  • Метод item() возвращает DomElement, который наследуется от DomNode. DomNode имеет свойство nodeValue, которое содержит текст внутри элемента.

Резюме: использовать SimpleXML

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