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