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

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的基本库,如SimpleXML、DOMDocument和XMLReader。其中,SimpleXML是PHP提供的一个非常简单易用的XML...

    php中用来解析xml的类

    本篇文章将详细介绍一个PHP XML解析类的使用,以及如何通过该类来解析XML文件。 首先,我们要了解PHP提供的XML解析方法。PHP提供了两种主要的XML解析方式:DOM(Document Object Model)和SAX(Simple API for XML...

    php递归解析xml

    本篇将详细介绍如何使用PHP的递归方法解析XML并将其转换为数组,以便在ExtJS的tree组件中使用。 首先,我们来讨论如何使用SimpleXML扩展来解析XML。SimpleXML是一个易于使用的接口,可将XML字符串或文件加载为PHP...

    文件上传,下载,解析xml文件

    最后,**解析XML文件**是理解和提取XML文档结构化数据的过程。XML(Extensible Markup Language)是一种用于存储和传输数据的标记语言,它具有自描述性且结构严谨。解析XML文件的方法有两种:DOM(Document Object ...

    一个用来解析XML文档的类

    根据给定的信息,本文将详细解释一个用于解析XML文档的PHP类——`xmlParser`类。此类的主要功能是解析指定的XML文件,并将其结构化数据转换为PHP数组形式,以便于进一步处理。 ### 类名:xmlParser #### 1. 类的...

    ajaxfileupload上传及解析xml

    本教程将详细讲解如何使用AjaxFileUpload插件上传XML文件,并且解析XML内容。 首先,我们需要了解jQuery库。jQuery是一个强大的JavaScript库,简化了DOM操作、事件处理、动画效果以及AJAX交互。在本示例中,jQuery...

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

    3. **解析XML内容**:获取到XML文件内容后,我们可以使用PHP的DOMDocument和DOMXpath类来解析XML。这将帮助我们提取出所需的数据。 ```php $doc = new DOMDocument(); @$doc-&gt;loadXML($xmlContent); // '@' 用于...

    php读取xml文件类

    3. **解析XML**:一旦XML文件加载成功,我们可以通过DOMDocument对象的各种方法来访问和操作XML文档的节点。例如,使用`getElementsByTagName()`或`getElementById()`获取特定的元素,使用`nodeValue`获取元素的文本...

    PHP DOM扩展库:SimpleXML 解析XML文档.md

    ### PHP DOM扩展库: SimpleXML 解析XML文档 #### DOM基本概念 - **定义与功能**:DOM(Document Object Model)是一种编程接口,允许开发者通过脚本语言(如JavaScript)来动态地访问和更新文档(如HTML或XML)的...

    sftp定时下载,并解析xml

    本话题将深入探讨如何利用SFTP进行定时下载以及解析XML文件的过程。 首先,我们要理解SFTP的基本操作。SFTP提供了对远程文件系统的访问,包括上传、下载、列出目录、重命名和删除文件等。为了实现定时下载,我们...

    php 实现post xml并解析

    PHP提供了多种解析XML的方式,如`DOMDocument`、`SimpleXMLElement`和`XMLReader`。这里以`SimpleXMLElement`为例,它提供了更简洁的API来操作XML。 ```php $xml_received = new SimpleXMLElement($response); ...

    php xml解析类

    DOM解析器提供了完整的XML文档对象模型,允许我们以树形结构来操作XML文档,而SimpleXML则提供了一个更为简洁的接口,适合处理小型XML文件。 1. DOM解析器: PHP的DOM扩展提供了DOMDocument类,它是一个完整的XML...

    xmlReader_解析xml文件

    `xmlReader`是一个XML解析扩展,它允许开发者逐节点地读取XML文档,而无需一次性加载整个文件到内存中,这对于处理大型XML文件特别有用。这种逐节点处理的方式可以有效地节省资源,并提高程序的效率。 1. **创建...

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

    PHP作为一门广泛应用于网页开发的脚本语言,提供了多种解析XML文档的方法。在处理XML数据时,PHP支持的解析技术主要包括以下四种:XML Expat Parser、SimpleXML、XMLReader和DOMDocument。下面将详细介绍每种方法的...

    第四章 PHP创建与解析XML

    本章将深入探讨如何在PHP中创建和解析XML文档,帮助开发者更好地理解和掌握这一技术。 首先,让我们了解XML的基本概念。XML是一种标记语言,它的设计目标是传输和存储数据,而不是用于显示数据。XML文档结构清晰,...

    php xml转数组

    首先,PHP提供了内置的`DOMDocument`类和`DOMXpath`类,它们可以用来解析XML文档并提取数据。以下是一个基本的转换过程: 1. **创建DOMDocument对象**: ```php $xmlString = '&lt;root&gt;&lt;item id="1"&gt;Item 1&lt;/item&gt;...

    PHP XML操作的各种方法解析(比较详细)

    ### PHP XML操作的各种...通过这些工具,开发者可以轻松地读取、解析和操作XML文档,从而有效地实现数据交换和存储的需求。随着XML在Web服务和其他数据交换场景中的广泛应用,掌握这些技巧对于PHP开发者来说尤为重要。

    PHP5中XML解析的应用改进.pdf

    早期的PHP版本已经开始支持XML,包含了一个基于SAX的接口用于解析XML文档;此后PHP4添加了DOM扩展模块和XSLT,XML得到更好的支持。在PHP4阶段后期,其它一些功能如扩展DOM类来完成XML文档操作也被提出。 本文讨论...

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

    当解析XML文档时,遇到元素开始、结束、文本等事件,就会调用预先定义的处理函数。 - 优点:性能高效,因为它是增量解析,不需一次性加载整个XML文档到内存。适用于处理大文件和网络流。 - 缺点:不支持验证,忽略...

Global site tag (gtag.js) - Google Analytics