Как правильно парсить xml в php?

Пользователь

от nicola , в категории: PHP , 2 года назад

Как правильно парсить xml в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от kameron , год назад

@nicola 

Существует несколько способов парсинга XML в PHP:

  1. С помощью DOMDocument класса. DOMDocument - это представление документа XML в виде дерева объектов, которое можно использовать для извлечения информации из xml. Пример:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$xml = new DOMDocument();
$xml->load('file.xml');

$xpath = new DOMXPath($xml);

$items = $xpath->query('//item');

foreach ($items as $item) {
    echo $item->nodeValue;
}


  1. С помощью SimpleXML класса. SimpleXML - это удобный способ доступа к элементам XML с помощью объектов. Пример:
1
2
3
4
5
$xml = simplexml_load_file('file.xml');

foreach ($xml->items as $item) {
    echo $item;
}


  1. С помощью XMLReader класса. XMLReader - это потоковый парсер XML, который позволяет читать XML-документы поэлементно. Пример:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$reader = new XMLReader();
$reader->open('file.xml');

while ($reader->read()) {
    if ($reader->name === 'item') {
        echo $reader->readInnerXml();
    }
}

$reader->close();


Важно выбирать подходящий метод в зависимости от размера и сложности XML-документа. Если документ большой или имеет множество вложенных уровней, то лучше использовать XMLReader. Если документ маленький и имеет простую структуру, то лучше использовать SimpleXML. Если нужно выполнить сложные манипуляции с документом, то DOMDocument будет лучшим выбором.