php dom读取xml文档代码(1/4)

 

<books>
<book>
<author>jack herrington</author>
<title>php教程 hacks</title>
<publisher>o'reilly</publisher>
</book>
<book>
<author>jack herrington</author>
<title>podcasting hacks</title>
<publisher>o'reilly</publisher>
</book>
</books>

 1 中的 xml 包含一个图书列表。父标记 <books> 包含一组 <book> 标记,每个 <book> 标记又包含 <author>、<title> 和 <publisher> 标记。
当 xml 文档的标记结构和内容得到外部模式文件的验证后,xml 文档就是正确的。模式文件可以用不同的格式指定。对于本文来说,所需要的只是格式良好的 xml。
如果觉得 xml 看起来很像超文本标记语言(html),那么就对了。xml 和 html 都是基于标记的语言,它们有许多相似之处。但是,要着重指出的是:虽然 xml 文档可能是格式良好的 html,但不是所有的 html 文档都是格式良好的 xml。换行标记(br)是 xml 和 html 之间区别的一个好例子。这个换行标记是格式良好的 html,但不是格式良好的 xml:
<p>this is a paragraph<br>
with a line break</p>
这个换行标记是格式良好的 xml 和 html:
<p>this is a paragraph<br />
with a line break</p>
如果要把 html 编写成同样是格式良好的 xml,请遵循 w3c 委员会的可扩展超文本标记语言(xhtml)标准。所有现代的浏览器都能呈现 xhtml。而且,还可以用 xml 工具读取 xhtml 并找出文档中的数据,这比解析 html 容易得多。
使用 dom 库读取 xml
读取格式良好的 xml 文件最容易的方式是使用编译成某些 php 安装的文档对象模型 (dom)库。dom 库把整个 xml 文档读入内存,并用节点树表示它,如图 1 所示。
图 1. 图书 xml 的 xml dom 树

树顶部的 books 节点有两个 book 子标记。在每本书中,有 author、publisher 和 title 几个节点。author、publisher 和 title 节点分别有包含文本的文本子节点。
读取图书 xml 文件并用 dom 显示内容的代码如清单 2 所示。
清单 2. 用 dom 读取图书 xml
复制代码 代码如下:

<?php
$doc = new domdocument();
$doc->load( 'books.xml' );
$books = $doc->getelementsbytagname( "book" );
foreach( $books as $book )
{
$authors = $book->getelementsbytagname( "author" );
$author = $authors->item(0)->nodevalue;
$publishers = $book->getelementsbytagname( "publisher" );
$publisher = $publishers->item(0)->nodevalue;
$titles = $book->getelementsbytagname( "title" );
$title = $titles->item(0)->nodevalue;
echo "$title - $author - $publishern";
}
?>

首页 1 2 3 4 末页

时间: 2024-09-20 05:33:23

php dom读取xml文档代码(1/4)的相关文章

[Qt教程] 第27篇 XML(一)使用DOM读取XML文档

[Qt教程] 第27篇 XML(一)使用DOM读取XML文档 楼主  发表于 2013-5-21 21:14:28 | 查看: 1001| 回复: 14 使用DOM读取XML文档 版权声明 该文章原创于作者yafeilinux,转载请注明出处! 导语 XML(ExtensibleMarkup Language,可扩展标记语言),是一种类似于HTML的标记语言,但它的设计目的是用来传输数据,而不是显示数据.XML的标签没有被预定义,用户需要在使用时自行进行定义.XML是W3C(万维网联盟)的推荐标

JQuery读取XML文档并显示数据例子

1.这里得注意$.ajax的属性DataType:'XML' 2.Java中得Out.println中response.setContentType("text/xml");也必须是XML格式的 3.解析XML文档与解析DOM一样,也可以用find().children()等函数来解析和用each()方法来进行遍历,另外也可以用text()和attr()方法来获取节点文本和属性. 1.直接读取xml文档  代码如下 复制代码 <?xml version="1.0&quo

Prototype Ajax读取XML文档实现联动下拉框实例

在使用PHP进行WEB2.0网站开发时,时常需要用到Ajax技术来增加用户体验,当前比较流行的Ajax开发框架有Prototype,Jquery,Lightbox等,今天和大家分享如何利用Prototype和XML文档进行交互以实现Ajax联动下拉菜单的例子. Ajax(Asynchronous JavaScript and XML)使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XSTL进行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用J

[Java开发之路](10)DOM解析XML文档

对象序列化的一个重要限制是它只是Java的解决方案:只有Java程序才能反序列化这种对象.一种更具操作性的解决方案是将数据转化为XML格式,这可以使其被各种各样的平台和语言使用. 1. 简介 DOM 是用与平台和语言无关的方式表示XML文档的官方 W3C 标准.DOM 是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构, 然后才能做任何工作. 由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的.DOM 以

Java获取XML节点总结之读取XML文档节点的方法_java

dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的. 要使用dom4j开发,需要下载导入dom4j相应的jar文件. 官网下载:http://www.dom4j.org/dom4j-1.6.1/ github下载:http://dom4j.github.io/ 下载解压之后如图所示: 我们只需要把dom4j-1.6.1.jar文件构建到我们开发项目中就可以了. 下面就以Eclipse创建java项目的构建方法为例说明: 声明:本Java项目的

php DOMDocument 创建,加载,解析xml文档代码

 代码如下 复制代码 $xml_str = "<?xml version='1.0'?>"; $xml_str .= "<books>"; $xml_str .= "<book>"; $xml_str .= "<title>harry potter</title>"; $xml_str .= "<author>j.k.rowling</au

艾伟_转载:C#来创建和读取XML文档

扩展标记语言XML(eXtensible Markup Language),是由W3C组织制定的.做为用于替代HTML语言的一种新型的标记语言,XML内部有着很多基本标准,XML就是通过与这些相关标准地结合,应用于科学计算.电子出版.多媒体制作和电子商务的.C#作为一种新型的程序语言,是.Net框架的一个重要组成部分,他和XML的关系颇深.本文就从一个方面来探讨一下这二者的关系.即:看用C#如何来创建和读取XML文档. 一.本文程序设计和运行的软件环境 (一)微软公司视窗2000服务器 (二).

C#来创建和读取XML文档

扩展标记语言XML(eXtensible Markup Language),是由W3C组织制定的.做为用于替代HTML语言的一种新型的标记语言,XML内部有着很多基本标准,XML就是通过与这些相关标准地结合,应用于科学计算.电子出版.多媒体制作和电子商务的.C#作为一种新型的程序语言,是.Net框架的一个重要组成部分,他和XML的关系颇深.本文就从一个方面来探讨一下这二者的关系.即:看用C#如何来创建和读取XML文档. 一.本文程序设计和运行的软件环境 (一)微软公司视窗2000服务器 (二).

jquery加载XML文档代码分享

jquery加载XML文档代码分享,jquery代码如下. jquery加载XML文档 jquery代码如下 <script type="text/javascript"> $(function(){ $("#ajax").one('click',function(){ //$("#ajax").nextAll().remove(); $.ajax({ url: 'ajax.xml', //data: {id: 1, name: 0}