概述
在网上有许多php的XML教程,但是只有少数介绍如何使用DOM来解析XML。我想利用这个机会展示一下在PHP编程中除了广泛使用的SAX实现方式外,还有另一种选择。
DOM(Document Object Model,文档对象模型)和SAX(Simple API for XML,XML简单应用程序接口)在如何解析XML上有不同的方法。SAX引擎完全是事件驱动的。当它遇到一个标记时,它就调用一个适当的函数来处理它。这使得SAX非常快速和有效。然而他给你的感觉就象被套在一个没完没了的循环里面。你发现自己使用了太多的全局变量和条件语句。
另一方面,DOM方法稍稍对内存有些敏感。它把整个XML文档以层次化的结构方式装载到内存里。这就是说,所有的数据组成了一个家族树,它们对编程者来说都是可用的。这种方法更直观,更容易使用,也提供了更多的可读性。
为了使用DOM函数,你必需在配置PHP时,使用'--with-dom'参数。它们不是标准配置的组成部分,这里有一个简单的编译方式。
%> ./configure --with-dom --with-apache=../apache_1.3.12 %> make %> make install |
译注:在Win32平台上支持DOM做法是这样的。首先,将下载包中dlls目录下的php_domXML.dll文件复制到系统目录下。NT、Win2K是system32目录,9X是system目录。其次,修改php.ini文件。将"Paths and Directories"中的extension_dir参数指向php_domXML.dll所在的路径,如extension_dir = C:/Winnt/system32;将"Dynamic Extensions"中extension=php_domXML.dll前的注释去掉。
DOM如何构造XML 因为DOM装载一个完整的字符串或文件到内存中作为一个树,这使我们可以将这些数据作为一个整体进行操作。我们拿这个XML文档作为一个例子。
<?XML version="1.0"?>
<book type="paperback"> <title>Red Nails</title> <price>$12.99</price> <author> <name first="Robert" middle="E" last="Howard"/> <birthdate>9/21/1977</birthdate> </author> </book> |
数据将象这样被组织起来
DomNode book | |-->DomNode title | | | |-->DomNode text | |-->DomNode price | | | |-->DomNode text | |-->DomNode author | |-->DomNode name | |-->DomNode birthdate | |-->DomNode text |
任何被标记封闭起来的文本都是它们自身的节点。举个例子来说,"Red Nails"是title的子节点,"$12.99"是price的子节点。
1 2 3 下一页
分享到:
相关推荐
JAVA读XML:sax,dom,jdom,dom4j的比较以及选择.doc
PHP5对domxml的支持与php4不同,比如这些函数就没有了 domxml_new_doc domxml_new_xmldoc domxml_open_file 使用这个代码就可以在php5里继续使用php4里的domxml函数
基于DOM的XML解析器。用法详见内部文档
使用dom解析XML,演示了如何使用DOM的五个基本对象来解析xml。
XML 文档对象模型定义访问和操作XML文档的标准方法。本资源有下面四个文档:DOM XML教程/DOM参考手册/DOM解析XML
XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程XML_DOM教程...
DOM提供的XML功能,利用它可以很轻松,很简单地进行XML操作
Java与XML联合编程之DOM篇 java中通过documentobjectmodule模型来解析xml文件 diamondsong提供
DOM解析XML 创建XML
使用DOM解析XML文件 Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件。对于特别大的文档,解析和加载整个文档可能很慢且很耗资源 http://www.iteye.com/topic/763926
DOM解析XML文件例子DOM解析XML文件例子DOM解析XML文件例子
XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法(接口)。 换句话说:XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。 模块简介: 1、XMLDOMDocument类: XML对象文档 ->操作创建或读写...
xml dom xml-DOM教学PPT
Android使用Dom方式解析XML,虽然xml文件太大时不建议用dom方式解析,但是如果文件比较小,也不失为一种选择。项目中xml放在assets文件夹下,view绑定使用butterknife
Java DOM 生成XML,对基本的DOM又封装了一层,使操作XML更简单
基于DOM的实用xml编程,内含有13个常用程序,包括文档的创建,修改,跟新
完整的Oracle xmldom解析xml入参,经过测试,可以解析,成功入到数据表中。
XMLDOM教程.chm XMLDOM教程.chm,XMLDOM教程.chm,XML DOM教程 chm
Java与XML(一):采用DOM操作XML文件.docx