xml_parse() ฟังก์ชันแยกวิเคราะห์เอกสาร XML
หากสำเร็จ ฟังก์ชันจะส่งกลับ TRUE หากล้มเหลวจะส่งกลับ FALSE
xml_parse(พาร์เซอร์,xml,สิ้นสุด)
พารามิเตอร์ | อธิบาย |
---|---|
ตัวแยกวิเคราะห์ | ที่จำเป็น. ระบุตัวแยกวิเคราะห์ XML ที่จะใช้ |
xml | ที่จำเป็น. ระบุข้อมูล XML ที่จะแยกวิเคราะห์ |
จบ | ไม่จำเป็น. หากพารามิเตอร์นี้เป็น TRUE ข้อมูลในพารามิเตอร์ "xml" จะเป็นข้อมูลชิ้นสุดท้ายในการแยกวิเคราะห์ปัจจุบัน หมายเหตุ: ข้อผิดพลาดเอนทิตีจะถูกรายงานเมื่อสิ้นสุดการแยกวิเคราะห์ และเฉพาะเมื่อพารามิเตอร์ "end" เป็น TRUE |
เคล็ดลับ: หากต้องการสร้างตัวแยกวิเคราะห์ XML ให้ใช้ฟังก์ชัน xml_parser_create()
ไฟล์ XML
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don สุดสัปดาห์นี้อย่าลืมฉัน!</body></note>
รหัสพีเอชพี
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data; }xml_set_Character_data_handler($parser,"char");$fp=fopen("test.xml","r") ; ในขณะที่ ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) หรือ die (sprintf("ข้อผิดพลาด XML: %s ที่บรรทัด %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
ผลลัพธ์ของโค้ดด้านบนมีลักษณะดังนี้:
คำเตือน Tove Jani อย่าลืมฉันสุดสัปดาห์นี้!
ใช้ไฟล์ XML เดียวกัน แต่แสดงข้อมูล XML ในรูปแบบที่ต่างกัน:
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- หมายเหตุ --<br />"; "ถึง": echo "ถึง:"; ตัวพิมพ์ใหญ่ "; echo "ข้อความ: "; } }function stop($parser,$element_name) { echo "<br />"; }function char($parser,$data) { echo $data; ,"หยุด");xml_set_Character_data_handler($parser,"char");$fp=fopen("test.xml","r");ในขณะที่ ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("ข้อผิดพลาด XML: %s ที่บรรทัด %d", xml_error_string(xml_get_error_code($parser )), xml_get_current_line_number($parser))); }xml_parser_free($ตัวแยกวิเคราะห์);?>
ผลลัพธ์ของโค้ดด้านบนมีลักษณะดังนี้:
-- หมายเหตุ --ถึง: ToveFrom: JaniHeading: ReminderMessage: อย่าลืมฉันสุดสัปดาห์นี้!