代码改变世界

XML DOM介绍

2011-04-15 12:03  沐海  阅读(333)  评论(0编辑  收藏  举报

XML DOM介绍
 

一、XML DOM简介DOM(Document Object Model,文档对象模型)是一种应用程序接口(API)的应用,它将文档(如XML文档,HTML文档等)看成是一个文档对象,然后通过程序语言(如JavaScript等脚本语言,C++等)调用该文档对象,对文档中的数据进行存取,并利用程序对获取的数据进行跟进一步的处理。

XML  DOM是将XML文档以DOM方式包装,通过DOM技术,应用程序即可很容易地提取XML文档中的数据。

二、XML DOM对象
     IE实现了对XML DOM技术的支持,提供了五个可以在脚本程序中调用的XML DOM对象:

(1)       XMLDOMDocument

该对象代表整个XML文档,它具有多种属性和方法来获取或创建其他XML DOM对象。

(2)       XMLDOMNode

          该对象可以代表XML文档的根元素以及根元素下的各个节点。它支持数据类型、名域、DTD和Schema,并且以此扩展核心的XML DOM节点接口。

(3)       XMLDOMNodeList

该对象代表XML文档中一系列节点组成的一个节点列表,并且支持对该列表的遍历。

(4)       XMLDOMNamedNodeMap

         该对象支持名域和对属性集的遍历。

(5)       XMLDOMParseError

该对象用于返回最近一次解析错误的详细信息,包括错误号、错误所在行、错误所在字符位置以及对错误的一个描述文本。                          


三、XML DOM属性
XML DOM文档的遍历与HTML DOM的遍历非常类似,因为它们都是节点层次的结构。节点树的最顶部是documentElement属性,包含文档的根元素。使用下表中所列出的属性,可以访问文档中任何元素或属性。
表4-1 XML DOM属性
属    性
 描    述
 
attributes
 包含当前节点属性的数组
 
childNodes
 包含子节点数组
 
firstChild
 指向当前节点的第一个子节点
 
lastChild
 指向当前节点的最后一个子节点
 
nextSibling
 返回当前节点的下一个邻居节点
 
nodeName
 返回当前节点的名字
 
nodeType
 指定当前节点的XML DOM节点类型
 
nodeValue
 包含当前节点的文本
 
ownerDocument
 返回文档的根元素
 
parentNode
 指向当前节点的父节点
 
previousSibling
 返回当前节点的前一个邻居节点
 
text
 返回当前节点的内容或当前节点及其子节点的文本(只有IE才支持的属性)
 
xml
 以字符串返回当前节点及其子节点的XML(只有IE才支持的属性)

         

顯示結果:


Artist Title
This is my CD collection
Bob Dylan Empire Burlesque
Bonnie Tyler Hide your heart
Dolly Parton Greatest Hits
Gary Moore Still got the blues
Eros Ramazzotti Eros
Bee Gees One night only
Dr.Hook Sylvias Mother
Rod Stewart Maggie May
Andrea Bocelli Romanza
Percy Sledge When a man loves a woman
Savage Rose Black angel
Many 1999 Grammy Nominees
Kenny Rogers For the good times
Will Smith Big Willie style
Van Morrison Tupelo Honey
Cat Stevens The very best of
Sam Brown Stop
T'Pau Bridge of Spies
Tina Turner Private Dancer
Kim Larsen Midt om natten
Luciano Pavarotti Pavarotti Gala Concert
Otis Redding The dock of the bay
Simply Red Picture book
The Communards Red
Joe Cocker Unchain my heart


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liaolian9948/archive/2010/05/13/5586359.aspx

<html>
<body>
<mce:script type="text/javascript"><!--
var xmlDoc=null;
if (window.ActiveXObject)
{// code for IE
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation.createDocument)
{// code for Mozilla, Firefox, Opera, etc.
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
if (xmlDoc!=null) 
{
xmlDoc.async=false;
xmlDoc.load("/example/xmle/cd_catalog.xml");
var x=xmlDoc.getElementsByTagName("CD");
document.write("<table border='1'>");
document.write("<thead>");
document.write("<tr><th>Artist</th><th>Title</th></tr>");
document.write("</thead>");
document.write("<tfoot>");
document.write("<tr><th colspan='2'>This is my CD collection</th></tr>");
document.write("</tfoot>");
for (var i=0;i<x.length;i++)
{ 
document.write("<tr>");
document.write("<td>");
document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
document.write("</td>");
document.write("<td>");
document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
document.write("</td>");
document.write("</tr>");
}
document.write("</table>");
}
// --></mce:script>
</body>
</html>
记录生活、工作、学习点滴!
E-Mail:mahaisong@hotmail.com 欢迎大家讨论。
沐海博客园,我有一颗,卓越的心!