PHP SimpleXML จัดการงาน XML ที่พบบ่อยที่สุด โดยปล่อยให้ส่วนที่เหลือเป็นส่วนขยายอื่นๆ
SimpleXML เป็นคุณสมบัติใหม่ใน PHP 5
ส่วนขยาย SimpleXML มอบวิธีง่ายๆ ในการรับชื่อและข้อความขององค์ประกอบ XML
เมื่อเปรียบเทียบกับตัวแยกวิเคราะห์ DOM หรือ Expat แล้ว SimpleXML สามารถอ่านข้อมูลข้อความจากองค์ประกอบ XML ด้วยโค้ดเพียงไม่กี่บรรทัด
SimpleXML สามารถแปลงเอกสาร XML (หรือสตริง XML) ให้เป็นวัตถุ เช่น:
องค์ประกอบจะถูกแปลงเป็นคุณสมบัติเดียวของวัตถุ SimpleXMLElement เมื่อมีหลายองค์ประกอบในระดับเดียวกัน องค์ประกอบเหล่านั้นจะถูกวางไว้ในอาร์เรย์
เข้าถึงคุณสมบัติได้โดยใช้อาเรย์แบบเชื่อมโยง โดยที่ดัชนีสอดคล้องกับชื่อคุณสมบัติ
ข้อความภายในองค์ประกอบจะถูกแปลงเป็นสตริง หากองค์ประกอบมีโหนดข้อความหลายโหนด พวกมันจะถูกจัดเรียงตามลำดับที่พบ
SimpleXML ใช้งานได้รวดเร็วมากเมื่อทำงานพื้นฐาน เช่น:
อ่าน/แยกข้อมูลจากไฟล์/สตริง XML
แก้ไขโหนดข้อความหรือแอตทริบิวต์
อย่างไรก็ตาม เมื่อต้องจัดการกับ XML ขั้นสูง เช่น เนมสเปซ ควรใช้ Expat parser หรือ XML DOM
เริ่มต้นด้วย PHP 5 ฟังก์ชัน SimpleXML เป็นส่วนหนึ่งของแกนหลักของ PHP ไม่จำเป็นต้องติดตั้งเพื่อใช้ฟังก์ชันเหล่านี้
สมมติว่าเรามีไฟล์ XML ต่อไปนี้ "note.xml":
<? xml รุ่น = " 1.0 " การเข้ารหัส = " ISO-8859-1 " ?> <หมายเหตุ> < ถึง > โตเว </ ถึง > < จาก > เจนี่ </ จาก > < หัวเรื่อง > คำเตือน </ หัวเรื่อง > < body > สุดสัปดาห์นี้อย่าลืมฉัน! </ body > </ หมายเหตุ >ตอนนี้เราต้องการส่งออกข้อมูลที่แตกต่างจากไฟล์ XML ข้างต้น:
เอาท์พุทคีย์และองค์ประกอบของตัวแปร $xml (ซึ่งเป็นวัตถุ SimpleXMLElement):
<?php $xml = simplexml_load_file ( " note.xml " ) ; print_r ( $ xml ) ;รหัสข้างต้นจะส่งออก:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => อย่าลืมฉันสุดสัปดาห์นี้!)
ข้อมูลขาออกสำหรับแต่ละองค์ประกอบในไฟล์ XML:
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $xml - > ถึง . " <br> " ; $xml - > จาก . " <br> " ; $xml - > หัวข้อ . " <br> " ; $xml -> เนื้อความ ; ?>รหัสข้างต้นจะส่งออก:
ToveJaniReminder สุดสัปดาห์นี้อย่าลืมฉัน!
เอาท์พุทชื่อองค์ประกอบและข้อมูลสำหรับแต่ละโหนดลูก:
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $ xml - > getName ( ) . " <br> " ;เช่น $เด็ก ) - เสียงสะท้อน $ child - > getName ( ) . " : " .-รหัสข้างต้นจะส่งออก:
noteto: Tovefrom: Janiheading: Reminderbody: อย่าลืมฉันสุดสัปดาห์นี้!
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชัน PHP SimpleXML โปรดไปที่คู่มืออ้างอิง PHP SimpleXML ของเรา