php如何使用expat方式解析xml文件

作者:袖梨 2022-06-24

php如何使用expat方式解析xml文件?这篇文章主要介绍了php使用expat方式解析xml文件操作,结合实例形式分析了PHP使用expat方式解析xml文件具体步骤与相关操作技巧,感兴趣的朋友就来一聚教程网参考一下吧!

本文实例讲述了php 使用expat方式解析xml文件操作。分享给大家供大家参考,具体如下:

test.xml:

<?xml version="1.0" encoding="UTF-8"?>

 
 George
 John
 Reminder
 Don't forget the meeting!
 
 
 George2
 John2
 Reminder2
 Don't forget the meeting!2
 
 
 
 
 


PHP文件:

<?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 --
"; 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 "
"; } // 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, 10)) { // 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))); // } // fclose($fp); $data = file_get_contents("test.xml"); xml_parse($parser, $data) 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: George

From: John

Heading: Reminder

Message: Don't forget the meeting!

-- Note --

To: George2

From: John2

Heading: Reminder2

Message: Don't forget the meeting!2

相关文章

精彩推荐