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 ของเรา