PHP XML DOM
Встроенный в PHP DOM парсер позволяет обрабатывать XML-документы.
Что такое DOM?
W3C DOM обеспечивает стандартный набор объектов для HTML и XML-документов, а также стандартный интерфейс для управления и доступа к этим документам.
W3C DOM разделяется на разные части (Core, XML и HTML) и различных уровней (DOM Level 1/2/3):
* Ядро DOM - любой структурированный документ определяет стандартный набор объектов
* XML DOM - XML-документ определяет стандартный набор объектов
* HTML DOM - определяет стандарт для HTML документов набор объектов
Чтобы узнать больше о знании XML DOM, посетите наш XML DOM учебник .
XML-синтаксического анализа
Для чтения и обновления - создать и процесс - документ XML, вам нужен XML-анализатор.
Есть два основных типа XML парсеров:
- На основе дерева синтаксического анализа: Этот анализатор преобразует документ XML в виде древовидной структуры. Он анализирует весь документ, а также предоставляет доступ к элементам в дереве, таких как объектной модели документа (DOM).
- Время на основе синтаксического анализа: XML-документ в виде серии событий. Когда происходит определенное событие, СА будет вызывать функцию для обработки.
DOM парсер является деревом на основе синтаксического анализа.
Посмотрите на следующий фрагмент XML-документа:
<from>Jani</from>
XML DOM XML, выше в виде древовидной структуры:
- Уровень 1: XML-документ
- Уровень 2: корневой элемент: <с>
- Уровень 3: текстовый элемент: "Яни"
устанавливать
DOM функции синтаксического анализа XML являются частью ядра PHP. Никакой установки не требуется, чтобы использовать эти функции.
XML-файл
XML-файл ниже будет использоваться в нашем примере:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Загрузка и вывод XML
Нам необходимо инициализировать анализатор XML для загрузки XML и выводит его:
примеров
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
Код выше вывод будет:
Если просмотреть исходный код в окне браузера, вы увидите следующий HTML:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Приведенный выше пример создает DOMDocument-объект, а "note.xml" Загрузка документа в объекте XML.
Функция saveXML () внутреннего документа XML в строку, так что мы можем экспортировать его.
Обход XML
Мы хотим, чтобы инициализировать XML-анализатор для загрузки XML, и пройти все элементы <Примечание> элемент:
примеров
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
Код выше вывод будет:
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =
В приведенном выше примере, вы видите наличие воздуха между каждым элементом текстового узла.
Когда генерируется XML, он будет, как правило, содержат пробелы между узлами. XML DOM парсер их как общие элементы, если вы обратите внимание на них, иногда вызывают проблемы.
Чтобы узнать больше о знании XML DOM, посетите наш XML DOM учебник .