xml_parse_into_struct() ฟังก์ชันแยกวิเคราะห์ข้อมูล XML ลงในอาร์เรย์
ฟังก์ชันนี้แยกวิเคราะห์ข้อมูล XML ออกเป็น 2 อาร์เรย์:
อาร์เรย์ค่า - มีข้อมูลจาก XML ที่แยกวิเคราะห์
อาร์เรย์ดัชนี - ประกอบด้วยตัวชี้ไปยังตำแหน่งของค่าในอาร์เรย์ค่า
หากสำเร็จ ฟังก์ชันจะคืนค่า 1 หากล้มเหลว จะส่งกลับ 0
xml_parse_into_struct(ตัวแยกวิเคราะห์,xml,value_arr,index_arr)
พารามิเตอร์ | อธิบาย |
---|---|
ตัวแยกวิเคราะห์ | ที่จำเป็น. ระบุตัวแยกวิเคราะห์ XML ที่จะใช้ |
xml | ที่จำเป็น. ระบุข้อมูล XML ที่จะแยกวิเคราะห์ |
value_arr | ที่จำเป็น. ระบุอาร์เรย์เป้าหมายสำหรับข้อมูล XML |
index_arr | ไม่จำเป็น. ระบุอาร์เรย์เป้าหมายของข้อมูลดัชนี |
หมายเหตุ: ฟังก์ชัน xml_parse_into_struct() ส่งคืน 1 หากสำเร็จ และ 0 หากล้มเหลว สิ่งนี้แตกต่างจาก TRUE และ FALSE ดังนั้นควรระมัดระวังเมื่อใช้ เช่น ตัวดำเนินการ ===
ไฟล์ XML
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don สุดสัปดาห์นี้อย่าลืมฉัน!</body></note>
รหัสพีเอชพี
<?php//invalid xml file$xmlfile = 'test.xml';$xmlparser = xml_parser_create();// เปิดไฟล์และอ่านข้อมูล$fp = fopen($xmlfile, 'r');$xmldata = fread( $FP, 4096);xml_parse_into_struct($xmlparser,$xmldata,$values);xml_parser_free($xmlparser);print_r($values);?>
ผลลัพธ์ของโค้ดด้านบนมีลักษณะดังนี้:
Array([0] => Array ( [tag] => หมายเหตุ [type] => open [level] => 1 [value] => )[1] => Array ( [tag] => TO [type] = > สมบูรณ์ [ระดับ] => 2 [value] => Tove )[2] => Array ( [tag] => หมายเหตุ [value] => [type] => cdata [level] => 1 ) [3] = > อาร์เรย์ ([แท็ก] => FROM [type] => complete [level] => 2 [value] => Jani )[4] => Array ( [tag] => หมายเหตุ [value] => [type] => cdata [level] = > 1 ) [5] => Array ( [tag] => HEADING [type] => complete [level] => 2 [value] => Reminder )[6] => Array ( [tag] => หมายเหตุ [value ] => [ประเภท] => cdata [level] => 1 ) [7] => Array ( [tag] => BODY [type] => complete [level] => 2 [value] => อย่าลืมฉันสุดสัปดาห์นี้! )[ 8] => อาร์เรย์ ( [tag] => หมายเหตุ [ค่า] => [ประเภท] => cdata [ระดับ] => 1 )[9] => อาร์เรย์ ( [แท็ก] => หมายเหตุ [ประเภท] => ปิด [ ระดับ] => 1 ))