The built-in DOM parser makes it possible to process XML documents in PHP.
Баригдсан DOM задлагч нь PHP дээр XML баримт бичгийг боловсруулах боломжийг олгодог.
The XML DOM Parser #
XML DOM задлагч #
The DOM parser is a tree-based parser.
DOM задлагч нь модонд суурилсан задлагч юм.
Look at the following XML document fraction:
Дараах XML баримт бичгийн бутархай хэсгийг харна уу.
Jani
The DOM sees the XML above as a tree structure:
DOM нь дээрх XML-ийг модны бүтэц гэж үздэг.
- Level 1: XML Document
- Level 2: Root element:
- Level 3: Text element: “Jani”
Installation #
Суулгалт #
The DOM parser functions are part of the PHP core. There is no installation needed to use these functions.
DOM задлагч функцууд нь PHP цөмийн нэг хэсэг юм. Эдгээр функцийг ашиглахад шаардлагатай суулгалт байхгүй байна.
The XML File #
The XML file below (“note.xml”) will be used in our example:
Доорх XML файлыг (“note.xml”) манай жишээнд ашиглах болно:
Tove
Jani
Reminder
Don’t forget me this weekend!
Load and Output XML #
XML ачаалах ба гаралт #
We want to initialize the XML parser, load the xml, and output it:
Бид XML задлагчийг эхлүүлж, xml-ийг ачаалж, дараахь зүйлийг гаргахыг хүсч байна:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
The output of the code above will be:
Дээрх кодын гаралт нь:
If you select “View source” in the browser window, you will see the following HTML:
Хэрэв та хөтчийн цонхноос “Эх сурвалжийг харах” -ыг сонговол дараахь HTML харагдана.
Tove
Jani
Reminder
Don’t forget me this weekend!
The example above creates a DOMDocument-Object and loads the XML from “note.xml” into it.
Дээрх жишээ нь DOMDocument-Object үүсгэж, XML-ийг “note.xml” -ээс түүнд ачаална.
Then the saveXML() function puts the internal XML document into a string, so we can output it.
Дараа нь saveXML () функц нь дотоод XML баримт бичгийг үг үсэг болгон байрлуулдаг тул бид үүнийг гаргаж чаддаг.
Looping through XML #
XML-ээр давталт хийх #
We want to initialize the XML parser, load the XML, and loop through all elements of the element:
Бид XML задлагчийг эхлүүлэх, XML-ийг ачаалах, элементийн бүх элементүүдийг давтахыг хүсч байна.
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
The output of the code above will be:
Дээрх кодын гаралт нь:
#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don’t forget me this weekend!
#text =
In the example above you see that there are empty text nodes between each element.
Дээрх жишээн дээр элемент бүрийн хооронд хоосон текстийн зангилаа байгааг та харж байна.
When XML generates, it often contains white-spaces between the nodes. The XML DOM parser treats these as ordinary elements, and if you are not aware of them, they sometimes cause problems.
XML үүсгэх үед зангилааны хоорондох цагаан зайг ихэвчлэн агуулдаг. XML DOM задлагч нь эдгээрийг ердийн элемент гэж үздэг бөгөөд хэрэв та эдгээрийг мэдэхгүй бол заримдаа асуудал үүсгэдэг.
If you want to learn more about the XML DOM, please visit our XML tutorial.
Хэрэв та XML DOM-ийн талаар илүү ихийг мэдэхийг хүсвэл манай XML хичээл дээр зочилно уу.