Najnowsze tutoriale tworzenie stron internetowych
 

PHP Parser XML DOM


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


Parser XML DOM

DOM parser parser jest oparty na drzewie.

Spójrz na poniższy frakcji dokumentu XML:

<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>

DOM widzi XML powyżej jako struktury drzewa:

  • Poziom 1: XML Document
  • Element główny:: poziom 2 <from>
  • Poziom 3: Element Tekst: "Jani"

Instalacja

Funkcje parsera DOM jest częścią jądra PHP. Nie ma potrzebne do korzystania z tych funkcji instalacji.


XML File

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

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

Obciążenia i wyjście XML

Chcemy zainicjować parsera XML, załaduj xml, i wyjście to:

Przykład

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

print $xmlDoc->saveXML();
?>

Wyjście z kodem powyżej będą:

Tove Jani Reminder Don't forget me this weekend!

W przypadku wybrania opcji "View source" w oknie przeglądarki pojawi się następujący kod HTML:

<?xml version="1.0" encoding="UTF-8"?>
<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 i ładuje XML z "note.xml" do niego.

Następnie saveXML() funkcja stawia wewnętrzny dokument XML na ciąg znaków, więc możemy to wyjście.


Zapętlenie poprzez XML

Chcemy zainicjować parsera XML załadować XML i pętli przez wszystkie elementy <note> element:

Przykład

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

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

Wyjście z kodem powyżej będą:

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

W powyższym przykładzie widać, że są puste węzły tekstowe między każdym elementem.

Kiedy generuje XML, często zawiera biało-przestrzenie między węzłami. DOM XML parser traktuje je jako zwykłe elementy, a jeśli nie są ich świadomi, że czasami powodować problemy.


Jeśli chcesz dowiedzieć się więcej o XML DOM, odwiedź nasz poradnik XML .