PHP XML Expat พิมพ์ตัวอย่าง
คำแนะนำหลักสูตร
Expat ปฏิบัติการภายในนั้นทำให้การจัดการเอกสาร XML ใน PHP มีความเป็นไปได้
XML คืออะไร?
ใน XML ไม่มีแบบต้นฉบับ คุณจำเป็นต้องประกาศแบบต้นฉบับของตัวเอง
ถ้าต้องการเรียนรู้เกี่ยวกับ XML มากขึ้น โปรดเข้าชม XML คู่มือการเรียน.
Expat คืออะไร?
ถ้าต้องการอ่านและปรับปรุง - สร้างและประกอบ - เอกสาร XML คุณจำเป็นต้องมีปฏิบัติการ XML
มีสองประเภทของปฏิบัติการ XML พื้นฐาน
- ปฏิบัติการต้นไม้ดูเอกสาร XML ในรูปแบบของต้นไม้
- ปฏิบัติการแจกปันเหตุการณ์ดูเอกสาร XML ในรูปแบบของเหตุการณ์
Expat ปฏิบัติการแจกปันเหตุการณ์
ปฏิบัติการแจกปันเหตุการณ์มุ่งเน้นเนื้อหาของเอกสาร XML มากกว่าผลลัพธ์ของมัน ดังนั้นปฏิบัติการแจกปันเหตุการณ์สามารถเข้าถึงข้อมูลเร็วกว่าปฏิบัติการต้นไม้
ดูชิ้น XML ด้านล่างนี้:
<from>John</from>
ปฏิบัติการแจกปันเหตุการณ์มอง XML ด้านบนว่าเป็นชุดของสามเหตุการณ์
- เริ่มอาจ์เอล์มาตรา: from
- เริ่มส่วน CDATA ค่า: John
- ปิดอาจ์เอล์มาตรา: from
ตัวอย่าง XML ด้านบนมี XML ที่มีรูปแบบที่ดี
อย่างไรก็ตาม ในการใช้ Expat นั้นไม่มีความแตกต่างนี้ Expat ไม่ตรวจสอบความถูกต้อง และละเลย DTD
เพราะเป็น XML พิเศษที่มีการแจกปันเหตุการณ์และไม่มีการตรวจสอบการชั้นระดับ Expat รวดเร็วและเล็กน้อยมาก มีความเหมาะสมกับโปรแกรม web ของ PHP
หมายเหตุ:เอกสาร XML ต้องมีรูปแบบที่ดี ไม่เช่นนั้น Expat จะสร้างข้อผิดพลาด
ติดตั้ง
XML Expat คือส่วนประกอบของศูนย์กลาง PHP ไม่จำเป็นต้องติดตั้งก่อนหน้านี้ก็สามารถใช้ฟังก์ชันเหล่านี้ได้
แบบ XML
จะใช้แบบ XML ด้านล่างในตัวอย่างของเรา:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>คำเตือน</heading> <body>ละครไม่ลืมการประชุม!</body> </note>
เริ่มต้น XML parser
เราต้องการจะเริ่มต้น XML parser ใน PHP และกำหนดฮัญญญาญรุ่งให้กับเหตุการณ์ XML ต่างๆ และทำการตรวจสอบไฟล์ XML นี้
ตัวอย่าง
<?php //Initialize the XML parser $parser=xml_parser_create(); //Function to use at the start of an element function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Note --<br />"; break; case "TO": echo "To: "; break; case "FROM": echo "From: "; break; case "HEADING": echo "Heading: "; break; case "BODY": echo "Message: "; } } //Function to use at the end of an element function stop($parser,$element_name) { echo "<br />"; } //Function to use when finding character data function char($parser,$data) { echo $data; } //Specify element handler xml_set_element_handler($parser,"start","stop"); //Specify data handler xml_set_character_data_handler($parser,"char"); //Open XML file $fp=fopen("test.xml","r"); //Read data while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } //ปลดปล่อย XML parser xml_parser_free($parser); ?>
ข้อความที่ปรากฎของรหัสดังนี้:
-- หมายเหตุ -- ส่งถึง: George จาก: John หัวข้อ: คำเตือน ข้อความ: ไม่ต้องลืมการประชุม!
การทำงานของโครงการ:
- เรียกฟังก์ชัน xml_parser_create() ในการตั้งต้นตัวแปลง XML
- สร้างฟังก์ชันที่เปิดใช้งานกับโปรแกรมที่จะจัดการกับเหตุการณ์
- เพิ่มฟังก์ชัน xml_set_element_handler() ในการกำหนดฟังก์ชันที่จะทำงานเมื่อตัวแปลงพบแท็กบางอย่าง
- เพิ่มฟังก์ชัน xml_set_character_data_handler() ในการกำหนดฟังก์ชันที่จะทำงานเมื่อตัวแปลงพบข้อมูลแคร์แอ�เตอร์
- ใช้ฟังก์ชัน xml_parse() ในการแปลงไฟล์ "test.xml"
- ถ้ามีข้อผิดพลาด ให้เพิ่มฟังก์ชัน xml_error_string() ในการแปลงข้อผิดพลาด XML ให้เป็นข้อความที่ชัดเจน
- เรียกฟังก์ชัน xml_parser_free() ในการปลดปล่อยความจำที่แบ่งให้กับฟังก์ชัน xml_parser_create()
ข้อมูลเกี่ยวกับ PHP Expat Parser มากกว่า
หากต้องการข้อมูลเกี่ยวกับฟังก์ชัน PHP Expat มากกว่านี้ โปรดเข้าเว็บไซต์คู่มือ PHP XML Parser ของเรา