PHP XML DOM

Wbudowany w PHP parser DOM umożliwia przetwarzanie dokumentów XML.


Czym jest DOM?

W3C DOM zapewnia standardowy zestaw obiektów do dokumentów HTML i XML, jak również standardowy interfejs umożliwiający dostęp i manipulowanie tymi dokumentami.

W3C DOM jest podzielone na różne części (Core XML i HTML) oraz różnych poziomach (DOM Level 1/2/3):

* Rdzeń DOM - każdy dokument o strukturze definiuje standardowy zestaw obiektów
* XML DOM - dokument XML definiuje standardowy zestaw obiektów
* HTML DOM - definiuje standardy dla dokumentów HTML zbioru obiektów

Aby dowiedzieć się więcej na temat wiedzy o XML DOM, odwiedź nasz poradnik XML DOM .


parsowanie XML

Aby czytać i aktualizacja - tworzenie i procesu - dokument XML, trzeba parsera XML.

Istnieją dwa podstawowe typy analizatorów składni XML:

  • parser oparty na drzewie: Ten parser przetwarza dokument XML w strukturę drzewa. Analizuje cały dokument, a także zapewnia dostęp do elementów w drzewie, takich jak Document Object Model (DOM).
  • parser Time-based: Dokument XML jako ciąg zdarzeń. Po wystąpieniu określonego zdarzenia, parser wywoła funkcję do procesu.

DOM parser parser jest oparty na drzewie.

Spójrz na poniższy fragment dokumentu XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<from>Jani</from>

XML DOM XML powyżej jako struktury drzewa:

  • Poziom 1: Dokument XML
  • Poziom 2: element główny: <od>
  • Poziom 3: element tekstowy: "Jani"

zainstalować

DOM Funkcje parsera XML są częścią jądra PHP. Instalacja nie jest potrzebne do korzystania z tych funkcji.


plik XML

Plik XML poniżej zostaną wykorzystane w naszym przykładzie:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Załadunek i wyjście XML

Musimy zainicjować parsera XML do ładowania XML i wysyła go:

Przykłady

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

Powyższy kod wyjścia będzie:

ToveJaniReminder Don't forget me this weekend!

Jeśli obejrzeć kod źródłowy w oknie przeglądarki pojawi się następujący kod HTML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Powyższy przykład tworzy DOMDocument-Object, a "note.xml" Ładowanie oryginałów w obiekcie XML.

saveXML () funkcją wewnętrznego dokumentu XML na ciąg znaków, więc możemy ją eksportować.


przemieszczenia XML

Chcemy zainicjować parsera XML załadować XML i przemierzać wszystkie elementy <Uwaga> elementu:

Przykłady

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>

Powyższy kod wyjścia będzie:

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =

W powyższym przykładzie widać obecność powietrza pomiędzy każdym elementem węzła tekstowego.

Gdy XML jest generowany, to zazwyczaj zawiera odstępów między węzłami. DOM XML parser je jako elementy wspólne, jeśli zwrócić uwagę na nich, czasami powodować problemy.


Aby dowiedzieć się więcej na temat wiedzy o XML DOM, odwiedź nasz poradnik XML DOM .