PHP - XML Parser

   Tuesday, 07 September 2010 16:23

ตัวอย่างโค้ด PHP กับ XML Parser

Element : ตัวอย่างเช่น  <to>webmaster</to>


ตัวอย่าง ไฟล์ XML :  test.xml


<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>webmaster</to>
<from>reader</from>
<heading>Reminder</heading>
<body>Don't forget read again!</body>
</note>



มาเริ่มต้นรู้จักกับ XML Parser

<?php
//เริ่มต้นการใช้ XML parser
$parser=xml_parser_create();

//ฟังก์ชั่น นี้ใช้สำหรับการเริ่มต้น 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: ";
  }
}

//ฟังก์ชั่นนี้ใช้ตอนสิ้นสุด element
function stop($parser,$element_name)
{
  echo "<br />";
}

//ฟังก์ชั่นนี้ไว้สำหรับค้นหาเนื้อหา
function char($parser,$data)
{
  echo $data;
}

//การระบุ element handler
xml_set_element_handler($parser,"start","stop");

//การระบุ data handler
xml_set_character_data_handler($parser,"char");

//เปิดไฟล์ XML 
$fp=fopen("test.xml","r");

//อ่านข้อมูลไฟล์ XML
while ($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)));
}

//Free the XML parser
xml_parser_free($parser);
?>

 



ผลลัพธ์ ที่อ่านได้จากไฟล์ xml โดยภาษา PHP

-- Note --
To: webmaster
From: reader
Heading: Reminder
Message: Don't forget read again!



 

Add comment


Security code
Refresh

Joomla template modify by Ban-Goi.com