dom parser

DOM парсер

Работа начинается с создания объекта DOMDocument:

$dom = new DomDocument ();

Рассмотрим чтение xml-документа с помощью DOM (на чтение документа лучше DOM не использовать, т.к. низкое быстродействие):

//Загрузка XML-документа
$dom->load("catalog.xml");
//Доступ к корневому элементу
$root = $dom->documentElement;
//Получение типа элемента
$type = $root->nodeType;
//Получение всех потомков любого элемента
$children = $root->childNodes;
//Получение текстового содержимого
echo $book->textContent;
//Обращение к узлам с определенным именем
$title = $dom->getElementsByTagName("title");
echo $title->item(0)->textContent;
  • Загрузка xml-файла (строка №2). В итоге в памяти повиснет полное дерево документа.
  • Доступ к корневому элементу. Используем спец. свойство — documentElement, только оно используется для выбора корневого элемента. См.строка №4.
  • Получаем тип документа с помощью свойства nodeType. См. строка №6.
  • Получение всех детей выбранного элемента. См. строка №8. К нам придет список детей в виде DOMNodeList, через echo их не посмотреть.
  • Получаем текстовые узлы. Используем свойство textContent и обращаемся к нужному элементу. Если обратимся к корневому элементу root, то в итоге получим все текстовые узлы, неважно на каком уровне они находятся. См. строку №10.
  • Обращение к узлам с определенным именем. Строки №12,13.



Добавить комментарий

Ваш e-mail не будет опубликован.