บทช่วยสอน PHP XML parser Expat ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้
XML คืออะไร?,สิ่งที่ต่างชาติใช่?,ติดตั้ง,ไฟล์ XML,เริ่มต้นของ XML parser,ข้อมูลเพิ่มเติม PHP parser Expat,
PHP XML parser Expat
Built-in PHP parser Expat ทำให้มันเป็นไปได้ในการประมวลผลเอกสาร XML
XML คืออะไร?
XML ใช้เพื่ออธิบายข้อมูลและให้ความสำคัญกับข้อมูลที่ใช่ ไฟล์ XML อธิบายโครงสร้างของข้อมูล
ใน XML ไม่มีแท็กที่กำหนดไว้ล่วงหน้า คุณต้องกำหนดแท็กของคุณเอง
เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ XML โปรดไปที่ กวดวิชา XML
สิ่งที่ต่างชาติใช่?
การอ่านและการปรับปรุง - การสร้างและกระบวนการ - เอกสาร XML คุณต้องแยกวิเคราะห์ XML
มีสองประเภทพื้นฐานของ parsers XML คือ:
- parser ต้นไม้ตาม: parser นี้จะแปลงเอกสาร XML ในโครงสร้างต้นไม้ มันวิเคราะห์เอกสารทั้งหมดและให้การเข้าถึงองค์ประกอบในต้นไม้เช่น Document Object Model (DOM)
- แยกวิเคราะห์เหตุการณ์ตาม: เอกสาร XML เป็นชุดของเหตุการณ์ เมื่อมีเหตุการณ์เฉพาะเกิดขึ้น parser จะเรียกฟังก์ชั่นในการประมวลผล
แยกวิเคราะห์ต่างชาติเป็นเหตุการณ์ตาม parser
เหตุการณ์ตามโฟกัสแยกวิเคราะห์เนื้อหาของเอกสาร XML มากกว่าโครงสร้างของพวกเขา ด้วยเหตุนี้การแยกวิเคราะห์เหตุการณ์ตามสามารถเข้าถึงข้อมูลได้เร็วกว่า parser ต้นไม้ตาม
พิจารณาส่วน XML ต่อไปนี้:
แยกวิเคราะห์เหตุการณ์ตามรายงาน XML ข้างต้นเป็นชุดของสามเหตุการณ์ที่:
- เริ่มองค์ประกอบ: จาก
- เริ่ม CDATA ส่วนค่า: เจนี่
- ปิดองค์ประกอบ: จาก
xml ตัวอย่างข้างต้นมีรูปแบบที่ดี XML แต่ตัวอย่างนี้ไม่ได้เป็น XML ที่ถูกต้องเพราะการประกาศประเภทของเอกสาร (DTD) ไม่ได้เกี่ยวข้องกับมัน
แต่เมื่อใช้ตัวแยกวิเคราะห์ Expat นี้ทำให้ไม่แตกต่างกัน แยกวิเคราะห์ต่างชาติไม่ได้ตรวจสอบความถูกต้องละเว้น DTD ใด ๆ
เป็นเหตุการณ์ตามการตรวจสอบไม่ใช่ parser XML, Expat ได้อย่างรวดเร็วและมีน้ำหนักเบามากเหมาะสำหรับ PHP การใช้งานเว็บ
หมายเหตุ: เอกสาร XMLจะต้องดีขึ้นมิฉะนั้น Expat จะสร้างข้อผิดพลาด
ติดตั้ง
XML parser Expat ฟังก์ชั่นเป็นส่วนหนึ่งของหลักของ PHP การติดตั้งไม่จำเป็นในการใช้ฟังก์ชั่นเหล่านี้
ไฟล์ XML
ไฟล์ XML ด้านล่างนี้จะถูกนำมาใช้ในตัวอย่างของเรา:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
เริ่มต้นของ XML parser
เราต้องการที่จะเริ่มต้นการแยกวิเคราะห์ XML ใน 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)));
}
//Free the XML parser
xml_parser_free($parser);
?>
รหัสข้างต้นส่งออกจะ:
-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!
วิธีการทำงาน:
- โดย xml_parser_create () ฟังก์ชั่นเริ่มต้นของ XML parser
- สร้างขึ้นด้วยฟังก์ชั่นการจัดการเหตุการณ์ที่แตกต่างกัน
- เพิ่ม xml_set_element_handler () ฟังก์ชันที่จะกำหนดซึ่งการทำงานเพื่อดำเนินการเมื่อแยกวิเคราะห์พบเริ่มต้นและสิ้นสุดแท็ก
- เพิ่ม xml_set_character_data_handler () ฟังก์ชันที่จะกำหนดซึ่งการทำงานเพื่อดำเนินการเมื่อแยกวิเคราะห์พบข้อมูลตัวอักษร
- โดย xml_parse () ฟังก์ชันที่จะแยกไฟล์ "test.xml"
- ในกรณีที่มีข้อผิดพลาดแล้วเพิ่ม xml_error_string () ฟังก์ชันการแปลงคำอธิบายข้อความข้อผิดพลาด XML
- xml_parser_free () ฟังก์ชั่นการโทรที่จะปล่อยได้รับมอบหมายให้ xml_parser_create () ฟังก์ชั่นหน่วยความจำ
ข้อมูลเพิ่มเติม PHP parser Expat
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน PHP Expat เยี่ยมชมของเรา คู่มืออ้างอิง PHP XML Parser