加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 使用expat方式解析xml文件操作实例

发布时间:2022-06-24 15:22:54 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php 使用expat方式解析xml文件操作,结合实例形式分析了PHP使用expat方式解析xml文件具体步骤与相关操作技巧,需要的朋友可以参考下。 本文实例讲述了php 使用expat方式解析xml文件操作,分享给大家供大家参考,具体如下: test.xml: ?xml
  这篇文章主要介绍了php 使用expat方式解析xml文件操作,结合实例形式分析了PHP使用expat方式解析xml文件具体步骤与相关操作技巧,需要的朋友可以参考下。
 
  本文实例讲述了php 使用expat方式解析xml文件操作,分享给大家供大家参考,具体如下:
 
  test.xml:
 
  <?xml version="1.0" encoding="UTF-8"?>
  <notes>
   <note>
   <to>George</to>
   <from>John</from>
   <heading>Reminder</heading>
   <body>Don't forget the meeting!</body>
   </note>
   <note>
   <to>George2</to>
   <from>John2</from>
   <heading>Reminder2</heading>
   <body>Don't forget the meeting!2</body>
   </note>
   <instances>
   <instance st="192.168.234.121" />
   <instance st="192.168.234.28" />
   </instances>
  </notes>
  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 --<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, 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。
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!