`
wangleyiang
  • 浏览: 214334 次
社区版块
存档分类
最新评论

PHP 解析XML文档

    博客分类:
  • PHP
阅读更多

    对数据进行解析是应用开发必不可少的一个环节。下面是使用XML Parser对XML文档进行解析的过程:

<?php
// 处理开始元素函数
function startElementHandler($parser, $element, $attributes) {
	echo "元素开始:".$element."<br>";
	if($attributes) {
		echo "属性:";
		foreach ( $attributes as $key => $value ) {
    		echo $key."=".$value." ";
		}
		echo "<br>";
	}
}

// 处理结束元素函数
function endElementHandler($parser, $element) {
	echo "元素结束:".$element."<br><br>";
}

// 处理字符串数据函数
function characterDataHandler($parser, $data) {
	if(trim($data)) {
		echo "字符串数据:".htmlspecialchars($data)."<br>";
	}
}

// 处理解析错误函数
function parserError($parser) {
	$code = xml_get_error_code($parser);
	$error = xml_error_string($code);
	$errorColumn = xml_get_current_column_number($parser);
	$errorLine = xml_get_current_line_number($parser);
	return "错误代码:".$code." 错误:".$error."在第".$errorLine."行第".$errorColumn."列";
}

// 创建解析器
$parser = xml_parser_create();

// 注册元素处理函数
xml_set_element_handler($parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler($parser, "characterDataHandler");

// 获取文件内容
$xml = file_get_contents("parser.xml");

// 开始解析parser.xml文档,解析错误就调用错误处理函数
xml_parse($parser, $xml) or die(parserError());

// 删除解析器并释放内存
xml_parser_free($parser);

?>

    我们给定的XML示例是:

<?xml version="1.0" encoding="UTF-8"?>
<phpedu>
	<title>PHP100</title>
	<item type="text" name="item">
		<contents type="text">PHP</contents>
		<contents>SQL</contents>
		<contents>Linux</contents>
		<contents>Apache</contents>
	</item>
	<address type="URL">www.php100.com</address>
</phpedu>

    多说一句:希望对您有所帮助!不同语言对XML的解析区别于形式,统一于本质!:)

    代码来源:《PHP 开发实战权威指南》

 

分享到:
评论

相关推荐

    PHP解析XML文档

    PHP解析XML文档,PHP解析XML文档,PHP解析XML文档

    php解析xml文档

    用php解析该xml文档,并以表格显示结果

    一个用来解析XML文档的类

    一个用来解析XML文档的类,php语言 function xmlParser($file)

    php读取xml文件类

    一款php xml读取类,很简单的一个xml分析类了,它可读取指它xml文档,并且输出或取得指定节点的xml数据,本xml类代码是利用了php domdocument来解析xml文档。

    PHP 读取 Android APK XML文件,无需JDK

    类实现了直接读取apk包中指定的XML文件内容(使用PHP的zip功能函数直接解压apk包),无需手动解压apk获取文件。

    php解析xml 的四种简单方法(附实例)

    Expat是一种基于事件的解析器,它把XML文档视为一系列事件。当某个事件发生时,它调用一个指定的函数处理它。Expat是无验证的解析器,忽略任何链接到文档的DTD。但是,如果文档的形式不好,则会以一个错误消息结束。...

    PHP使用xpath解析XML的方法详解

    分享给大家供大家参考,具体如下: XML文件在PHP网站开发的轻量级应用中使用非常广泛,而PHP解析和读取XML文件的方式有很多种,比如JS ...PHP解析XML推荐教程:PHP4和PHP5版本下解析XML文档的操作方法 需要PHP解析的X

    php 解析xml 的四种方法详细介绍

    php 解析xml 的四种方法 XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument。 1。 XML Expat Parser: ...

    php读取XML文件

    php读取XML文件,帮助快速度去解析xml文件,也有助于初学者学习php

    解析xml方法以及详细的介绍

    解析xml文件的四种方法,以及详细的介绍

    php读取xml文件类.zip

    提供一款php xml读取类,很简单的一个xml分析类了,它可读取指它xml文档,并且输出或取得指定节点的xml数据,本xml类代码是利用了php domdocument来解析xml文档。

    PHP4和PHP5版本下解析XML文档的操作方法实例分析

    本文实例讲述了PHP4和PHP5版本下解析XML文档的操作方法。分享给大家供大家参考,具体如下: 在PHP网站开发与建设过程中,时常会碰到需要对XML文档进行解析,PHP4版本自带了XML解析器(sax),PHP5版本增加了...

    PHP简单实现解析xml为数组的方法

    本文实例讲述了PHP简单实现解析xml为数组的方法。分享给大家供大家参考,具体如下: 最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析方式 xmlDemo.xml文件: &lt;?xml ...

    通过php添加xml文档内容的方法

    本文实例讲述了通过php添加xml文档内容的方法。分享给大家供大家参考。具体分析如下: 这里讲述的添加xml文档内容,从上一篇《DOM基础及php读取xml内容操作的方法》继续,代码如下: 复制代码 代码如下:&lt;?php //1...

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

    主要介绍了php 使用expat方式解析xml文件操作,结合实例形式分析了PHP使用expat方式解析xml文件具体步骤与相关操作技巧,需要的朋友可以参考下

    PHP基于SimpleXML生成和解析xml的方法示例

    xml就不多解释了,php也提供了操作xml的方法,php操作xml可以有多种方式如domdocment,simplexml,xmlwriter等其中最简单的应该是simplexml了,这次就来说说simplexml怎么读取和解析xml文件或字符串 1. 生成xml字符串...

Global site tag (gtag.js) - Google Analytics