XML DOM介绍、例子以及Microsoft.xmldom api文档
1.文档对象模型(DOM)
DOM是HTML和XML文档的编程基础,它定义了处理执行文档的途径。编程者可以使用DOM增加文档、定位文档结构、填加修改删除文档元素。W3C的重要目标是把利用DOM提供一个使用于多个平台的编程接口。W3C DOM被设计成适合多个平台,可使用任意编程语言实现的方法。
2.节点接口
XML parser用来装载XML文档到缓存中,文档装载时,可以使用DOM进行检索和处理。DOM采用树形结构表示XML文档,文档元素是树的最高阶层,该元素有一个或多个孩子节点用来表示树的分枝。
节点接口程序通常用来读和写XML节点树中的个别元素,文档元素的孩子节点属性可以用来构造个别元素节点。XML parser用来证明Web中的DOM支持遍历节点树的所有函数,并可通过它们访问节点和及其属性、插入删除节点、转换节点树到XML中。
所有Microsoft XML parser函数得到W3C XML DOM的正式推荐,除了load和loadXML函数(正式的DOM不包括标准函数loading XML文档)。有13个节点类型被Microsoft XML parser支持,下面列出常用节点:
节点类型例子
Document type <!DOCTYPE food SYSTEM “food.dtd”>
Processing instruction <?xml version=”1.0″?>
Element <drink type=”beer”>Carlsberg</drink>
Attribute type=”beer”
Text Carlsberg
3.使用XML parser
为了更加熟练的处理XML文档,必须使用XML parser。Microsoft XML parser是IIS5.0所带的一个COM组件,一旦安装了IIS5.0,parser可以利用HTML文档和ASP文件中的脚本。
Microsoft XMLDOM parser支持以下编程模式:
—-支持JavaScript, VBScript, Perl, VB, Java, C++ 等等
—-支持W3C XML 1.0 和XML DOM
—-支持DTD 和validation
如果使用IE5.0中的JavaScript,可以使用下面的XML文档对象:
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
如果使用VBScript,可以使用下面的XML文档对象:
set xmlDoc = CreateObject(”Microsoft.XMLDOM”)
如果使用ASP,可以使用下面的XML文档对象:
set xmlDoc = Server.CreateObject(”Microsoft.XMLDOM”)
4.装载一个XML文件到parser中
下面的代码装载存在的XML文档进入XML parser:
<script language=”JavaScript”>
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note.xml”)
// ……. processing the document goes here
</script>
第一行脚本增加了一个Microsoft XML parser实例,第三行装载名为”note.xml”的XML文档进入parser中。第二行保证文档装载完成以后parser进行下一步工作。
5. parseError对象
打开XMl文档时,XML Parser产生错误代码,并存在parseError对象中,包括错误代码、错误文本和错误行号,等信息。
6.文件错误
下面的例子将试图装载一个不存在的文件,然后产生相应的错误代码:
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”ksdjf.xml”)
document.write(”<br>Error Code: “)
document.write(xmlDoc.parseError.errorCode)
document.write(”<br>Error Reason: “)
document.write(xmlDoc.parseError.reason)
document.write(”<br>Error Line: “)
document.write(xmlDoc.parseError.line)
7.XML错误
下面使用不正确的格式装载XMl文档,
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note_error.xml”)
document.write(”<br>Error Code: “)
document.write(xmlDoc.parseError.errorCode)
document.write(”<br>Error Reason: “)
document.write(xmlDoc.parseError.reason)
document.write(”<br>Error Line: “)
document.write(xmlDoc.parseError.line)
8. parseError属性
属性描述:
errorCode 返回长整型错误代码
reason 返回字符串型错误原因
line 返回长整型错误行号
linePos 返回长整型错误行号位置
srcText 返回字符串型产生错误原因
url 返回url装载文档指针
filePos 返回长整型错误文件位置
9.遍历节点树
一种通用的析取XML文档的方法是遍历节点树和它的元素值。下面是使用VBScript写的遍历节点树的程序代码:
set xmlDoc=CreateObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note.xml”)
for each x in xmlDoc.documentElement.childNodes
document.write(x.nodename)
document.write(”: “)
document.write(x.text)
next
10.为XML文件提供HTML格式
XML的一个优点是把HTML文档和它的数据分离开。通过使用浏览器中的XML parser,HTML页面可以被构造成静态文档,通过JavaScript提供动态数据。下面的例子使用JavaScript读取XML文档,写XML数据成HTML元素:
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note.xml”)
nodes = xmlDoc.documentElement.childNodes
to.innerText = nodes.item(0).text
from .innerText = nodes.item(1).text
header.innerText = nodes.item(2).text
body.innerText = nodes.item(3).text
11.通过名称访问XML元素
下面的例子使用JavaScript读取XML文档,写XML数据成HTML元素:
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note.xml”)
document.write(xmlDoc.getElementsByTagName(”from”).item(0).text)
12.装载纯XML文本进入parser
下面的代码装载文本字符串进入XML parser :
<script language=”JavaScript”>
var text=”<note>”
text=text+”<to>Tove</to><from>Jani</from>”
text=text+”<heading>Reminder</heading>”
text=text+”<body>Don’t forget me this weekend!</body>”
text=text+”</note>”
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.loadXML(text)
// ……. processing the document goes here
</script>
13.装载XML进入Parser
<html>
<body>
<script language=”javascript”>
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note.xml”)
document.write(”The first XML element in the file contains: “)
document.write(xmlDoc.documentElement.childNodes.item(0).text)
</script>
</body>
</html>
遍历XML节点树:
<html>
<body>
<script language=”VBScript”>
txt=”<h1>Traversing the node tree</h1>”
document.write(txt)
set xmlDoc=CreateObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note.xml”)
for each x in xmlDoc.documentElement.childNodes
document.write(”<b>” & x.nodename & “</b>”)
document.write(”: “)
document.write(x.text)
document.write(”<br>”)
next
</script>
</body>
</html>
装载XML 进入HTML
<html>
<head>
<script language=”JavaScript”
for=”window” event=”onload”>
var xmlDoc = new ActiveXObject(”Microsoft.XMLDOM”)
xmlDoc.async=”false”
xmlDoc.load(”note.xml”)
nodes = xmlDoc.documentElement.childNodes
to.innerText = nodes.item(0).text
from.innerText = nodes.item(1).text
header.innerText = nodes.item(2).text
body.innerText = nodes.item(3).text
</script>
<title>HTML using XML data</title>
</head>
<body bgcolor=”yellow”>
<h1>Refsnes Data Internal Note</h1>
<b>To: </b><span id=”to”></span>
<br>
<b>From: </b><span id=”from”></span>
<hr>
<b><span id=”header”></span></b>
<hr>
<span id=”body”></span>
</body>
</html>
分享到:
相关推荐
在ASP(Active Server Pages)开发中,XMLDOM(XML Document Object Model)对象是处理XML文档的强大工具。XMLDOM提供了一种标准的方式来解析、修改和操作XML数据,它遵循W3C DOM规范。在这个示例中,我们将深入探讨...
本篇文章将重点介绍**XMLDOMDocument**和**XMLDOMNode**对象。 #### 四、XMLDOMDocument对象详解 **XMLDOMDocument** 对象代表了XML DOM层次结构中的顶层节点,它是构建和操作XML结构的基础。通过以下命令可以创建...
- 在IE中,可以使用`ActiveXObject("Microsoft.XMLDOM")`创建XML文档对象,并通过`load()`方法加载XML文档。 - 在非IE浏览器中,可以使用`document.implementation.createDocument()`创建XML文档对象,然后使用`...
JavaScript的学习则需要理解变量、数据类型、运算符、流程控制语句,以及如何操作DOM,编写事件处理函数。对于ES6的新特性,熟悉并能熟练运用它们会使代码更现代化。 总的来说,HTML、CSS和JavaScript是Web开发的...
这段代码首先创建了一个`Microsoft.XMLDOM`对象,然后设置异步加载为false,确保文件在进行任何操作前已经完全加载。接着,`load()`方法用于加载XML文件。一旦文件加载完成,我们可以通过`documentElement`获取XML...
- **XMLDOMNode 对象:** 表示文档中的一个节点。 - **documentElement 属性:** 获取文档的根元素节点。 **3.3 NodeList 对象和 NamedNodeMap** - **NodeList:** 表示一组节点的集合,可以遍历和访问。 - **...
XMLDOM(XML Document Object Model)是微软开发的一种用于处理XML文档的接口,它允许程序员通过JavaScript或其他编程语言在运行时动态地访问和修改XML数据。这个"XMLDOM对象方法手册"压缩包包含了一个名为"XMLDOM...
DOM4J是一个强大的Java库...通过深入理解DOM4J提供的API和方法,开发者能够高效地处理XML文档,无论是简单的读取还是复杂的转换和操作。同时,DOM4J API.CHM文件作为参考资料,能为开发过程中遇到的问题提供解决方案。
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得开发者可以方便地读取、创建、修改以及操作...DOM4J API文档是理解这些概念和使用方法的关键资源,值得每一个Java XML开发者仔细研究。
XMLDOM提供了一种标准的方式来解析和操作XML文档,它允许我们通过编程方式访问和修改XML数据。在ASP中,我们通常使用MSXML库提供的XMLDOM对象,例如`Microsoft.XMLDOM`或`MSXML2.DOMDocument`。 以下是一个简单的...
在脚本中使用DOM,通常需要创建XML解析器的实例,如在VBScript或JavaScript中,可以通过CreateObject方法创建Microsoft.XMLDOM对象。然后,可以使用这个对象的load方法加载XML文件,之后就可以通过其提供的各种方法...
XMLDOM(XML Document Object Model)是微软在Internet Explorer中实现的一种用于处理XML文档的API,它允许程序员通过JavaScript或其他脚本语言对XML数据进行读取、修改和操作。本手册将详细阐述XMLDOM对象的方法,...
4. 示例代码:`var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load("data.xml"); var bookNode = xmlDoc.getElementsByTagName("book")[0]; bookNode.setAttribute("id", "newID...
DOM是W3C(万维网联盟)制定的一种API,它将XML文档视为一个由节点组成的树形结构。在DOM中,每个元素、属性、文本甚至注释都是一个独立的节点。开发者可以使用DOM API遍历这个树,找到特定的节点并进行操作,如添加...
C#是Microsoft开发的一种面向对象的编程语言,它提供了丰富的库支持XML处理,包括DOM(Document Object Model)解析器。本文将深入探讨如何在C#中使用DOM模型来解析XML文件。 DOM模型是一种将XML文档视为树形结构的...
1. **dom4j API帮助文档.chm**:dom4j是一个开源的Java库,用于处理XML、HTML和DOM文档。它提供了一种灵活的方式来读取、写入、修改和导航XML文档结构。帮助文档包含了关于如何使用dom4j进行XML操作的详细说明,包括...
DOM是一种将整个XML文档加载到内存中的解析方式,它构建了一个树形结构来表示XML文档,允许开发者通过节点遍历、修改或查询XML内容。DOM解析器的优点是操作灵活,可以随时访问任何部分的文档,但缺点是占用内存大,...
在VC++中,我们可以利用MSXML库(Microsoft XML Core Services)来操作XML文档,包括创建、读取和修改XML节点。 MSXML库提供了几种不同的接口,如IXMLDOMDocument和IXMLDOMNode,用于XML文档的处理。在创建XML文档...
要读取文档,你可以使用`Microsoft.XMLDOM`对象,它提供了一个`load`方法来加载XML文档。例如: ```vb Dim xmlDoc As New MSXML2.DOMDocument60 xmlDoc.async = False '同步加载,确保所有数据都已读取 xmlDoc...
在提供的压缩包文件中,我们有三个重要的CHM(Microsoft帮助文件)文档:"j2se6.chm"、"JDK_API_1.6_zh_中文.CHM"以及"jdk_api_1.7.chm",这些文件分别对应Java SE 6和Java SE 7的API文档中文版。 1. **Java SE 6 ...