ในตัวแยกวิเคราะห์ DOM ทำให้มันเป็นไปได้ในการประมวลผลเอกสาร XML ใน PHP
ไฟล์ XML DOM Parser
ตัวแยกวิเคราะห์ DOM เป็น parser ต้นไม้ตาม
ดูที่ส่วนเอกสาร XML ต่อไปนี้:
<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>
พระเห็น XML ข้างต้นเป็นโครงสร้าง:
- ระดับ 1: เอกสาร XML
- องค์ประกอบราก: Level 2 <from>
- ระดับ 3: องค์ประกอบข้อความ: "Jani"
การติดตั้ง
ฟังก์ชั่น DOM parser เป็นส่วนหนึ่งของหลัก PHP มีการติดตั้งไม่จำเป็นในการใช้ฟังก์ชั่นเหล่านี้คือ
ไฟล์ XML
ไฟล์ XML ด้านล่างนี้จะถูกนำมาใช้ในตัวอย่างของเรา:
<?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>
Load และเอาท์พุท XML
เราต้องการที่จะเริ่มต้น parser XML โหลด XML และการส่งออกมัน
ตัวอย่าง
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
การส่งออกของโค้ดข้างต้นจะได้รับ:
Tove Jani Reminder Don't forget me this weekend!
หากคุณเลือก "View source" ในหน้าต่างเบราว์เซอร์ที่คุณจะเห็น 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>
ตัวอย่างข้างต้นสร้าง DOMDocument วัตถุและโหลด XML จาก "note.xml" เป็นมัน
จากนั้น saveXML() ฟังก์ชั่นทำให้เอกสาร XML ภายในเป็นสตริงเพื่อให้เราสามารถส่งออกมัน
วนรอบผ่าน XML
เราต้องการที่จะเริ่มต้น parser XML โหลด XML และห่วงผ่านทุกองค์ประกอบของ <note> องค์ประกอบ:
ตัวอย่าง
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
การส่งออกของโค้ดข้างต้นจะได้รับ:
#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =
ในตัวอย่างข้างต้นที่คุณเห็นว่ามีโหนดข้อความว่างระหว่างแต่ละองค์ประกอบ
เมื่อ XML สร้างก็มักจะมีสีขาวช่องว่างระหว่างโหนด ตัวแยกวิเคราะห์ DOM XML ถือว่าเป็นองค์ประกอบสามัญเหล่านี้และถ้าคุณไม่ได้ตระหนักถึงพวกเขาพวกเขาบางครั้งทำให้เกิดปัญหา
หากคุณต้องการที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ XML DOM โปรดไปที่ กวดวิชา XML