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

test.xml:

George

John

Reminder

George2

John2

Reminder2

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

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML:http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化美化工具:http://tools.jb51.net/code/xmlcodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

php xml expat,php 使用expat方式解析xml文件操作示例相关推荐

  1. Android网络之数据解析----SAX方式解析XML数据

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  2. Android中使用SAX方式解析XML文件

    转载http://blog.csdn.net/cjjky/article/details/6666834 在Android中解析XML文主要有三种方式,分别为Simple API for XML(SA ...

  3. JavaXml教程(五)使用SAX方式解析XML文件

    Java SAX解析机制为我们提供了一系列的API来处理XML文件,SAX解析和DOM解析方式不太一样,它并不是將XML文件内容一次性全部加载,而是连续的部分加载. javax.xml.parsers ...

  4. php xml 实例教程,php解析xml方法实例详解,解析xml实例详解_PHP教程

    php解析xml方法实例详解,解析xml实例详解 本文以实例形式详细讲述了php解析xml方法.分享给大家供大家参考.具体分析如下: books.xml文件如下: Harry Potter J K. ...

  5. Java眼中的XML--文件读取--2 应用SAX方式解析XML

    1.获取一个SAXParserFactory的实例.2.通过factory获取SAXParser实例. 3.新建一个包和继承自DefaultHandler的类. 因为SAX遍历方式,比如便利一个节点& ...

  6. JavaXml教程(二)使用DOM方式解析XML文件

    DOM XML 解析方式是最容易理解的,它將XML文件作为Document对象读取到内存中,然后你可以轻松地遍历不同的元素和节点对象.遍历元素和节点不需要按照顺序进行. DOM解析方式适合尺寸较小的X ...

  7. android中使用哪种方式解析XML比較好

    SAX是一个用于处理XML事件驱动的"推"模型. 长处是一种解析速度快而且占用内存少的xml解析器,它须要哪些数据再载入和解析哪些内容. 缺点是它不会记录标签的关系.而要让你的应用 ...

  8. 用SAX2方式解析XML

    SAX2 Qt 的 SAX 类基于 SAX2 的 Java 实现,不过具有一些必要的名称上的转换.相比 DOM,SAX 的实现更底层因而处理起来通常更快.但是,我们前面介绍的QXmlStreamRea ...

  9. Hello Qt(三十九)——SAX方式解析XML

    一.SAX简介 SAX是Simple API for XML的简写,是一种解析XML文件的替代方法,不是由W3C官方所提出的标准,是一种事件驱动的XML API,接近于底层,速度较快,但不便于随机访问 ...

最新文章

  1. vxworks操作系统_【7.10开播】最新自主研发工业操作系统发布会行业top来助阵,邀您共同见证(附报名)...
  2. 静态链接库LIB和动态链接库DLL的区别 创建和示例
  3. 前端开发 —— BOM
  4. python NoSuchElementException异常处理
  5. UDLD是一个Cisco私有的二层协议
  6. aliez歌词_Aliez歌词
  7. 史上最全设计模式——原型模式
  8. ConcurrentHashMap内部原理浅析
  9. android布局错,Android Studio布局错误
  10. 3.3 垃圾回收算法
  11. AI时代,运维和测试岗位如何开启第二春?
  12. 周公解梦|做梦的解释|鬼压床|为什么会做梦
  13. plc控制伺服电机 四轴攻丝机案例 该程序为plc控制伺服电机的工程案例程序,包含伺服电机接线图,包含程序流程的详细解释说明
  14. 压力测试流程及测试步骤
  15. Word页眉插入章标题(标题1)
  16. 随机数字表法计算机分配,随机数字表法
  17. HTML背景渐变圆圈,6种CSS3平滑过渡的渐变背景颜色
  18. 常见排序算法02之插入排序与希尔排序
  19. iOS屏幕旋转及其基本适配方法
  20. vue基于promise可以用于浏览器和node.js的网络请求库【axios封装-收藏版】

热门文章

  1. 房奴车奴孩奴,月薪过万业不过如此!
  2. MFi技术 和 苹果生态系统
  3. 红象云腾CRH 一键部署大数据平台
  4. ROS-语音控制-会说话的机器人(1)-ubuntu16.04上安装运行snowboy
  5. 12个不为大家熟知的HTML5设计小技巧
  6. 每周时间安排表php,php获取一年内的星期列表及每周起始时间的实例代码
  7. 高分辨率扫描出来的图片有摩尔纹_旅顺口优质三维扫描费用-沈阳锐工工业产品设计有限公司...
  8. 那些在《JavaEE开发的颠覆者 Spring Boot实战》中遇到的坑,,。(二)
  9. Dymola使用C语言间接调用含第三方库Python文件流程
  10. 异星工厂机器人教程_《异星工厂》建设机器人怎么用?建设机器人机制介绍