千家信息网

XML中DOM操作XML文档的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了XML中DOM操作XML文档的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在DOM眼中,HTML跟XML一
千家信息网最后更新 2026年11月01日XML中DOM操作XML文档的示例分析

这篇文章主要介绍了XML中DOM操作XML文档的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在DOM眼中,HTML跟XML一样是一种树形结构的文档。各个节点被视为各种类型的Node对象。每个Node对象都有自己的属性和方法,利用这些属性和方法可以遍历整个文档树。DOM定义了nodeType来表示节点的类型

接口

nodeType常量

nodeType值

备注

Element

Node.ELEMENT_NODE

1

元素节点

Text

Node.TEXT_NODE

3

文本节点

Document

Node.DOCUMENT_NODE

9

document

Comment

Node.COMMENT_NODE

8

注释的文本

DocumentFragment

Node.DOCUMENT_FRAGMENT_NODE

11

document片断

Attr

Node.ATTRIBUTE_NODE

2

节点属性

DOM树的根节点是个Document对象,有时候document即指向整个文档。

Document定义的方法大多数是生产型方法,主要用于创建可以插入文档中的各种类型的节点。常用的Document方法有:

方法

描述

createAttribute()

用指定的名字创建新的Attr节点。

createComment()

用指定的字符串创建新的Comment节点。

createElement()

用指定的标记名创建新的Element节点。

createTextNode()

用指定的文本创建新的TextNode节点。

getElementById()

返回文档中具有指定id属性的Element节点。

getElementsByTagName()

返回文档中具有指定标记名的所有Element节点。

Element常用的方法:

方法

描述

getAttribute()

以字符串形式返回指定属性的值。

getAttributeNode()

以Attr节点的形式返回指定属性的值。

getElementsByTabName()

返回一个Node数组,包含具有指定标记名的所有Element节点的子孙节点,其顺序为在文档中出现的顺序。

hasAttribute()

如果该元素具有指定名字的属性,则返回true。

removeAttribute()

从元素中删除指定的属性。

removeAttributeNode()

从元素的属性列表中删除指定的Attr节点。

setAttribute()

把指定的属性设置为指定的字符串值,如果该属性不存在则添加一个新属性。

setAttributeNode()

把指定的Attr节点添加到该元素的属性列表中。

Node对象常用属性:

属性

描述

attributes

如果该节点是一个Element,则以NamedNodeMap形式返回该元素的属性。

childNodes

以Node[]的形式存放当前节点的子节点。如果没有子节点,则返回空数组。

firstChild

以Node的形式返回当前节点的第一个子节点。如果没有子节点,则为null。

lastChild

以Node的形式返回当前节点的最后一个子节点。如果没有子节点,则为null。

nextSibling

以Node的形式返回当前节点的兄弟下一个节点。如果没有这样的节点,则返回null。

nodeName

节点的名字,Element节点则代表Element的标记名称。

nodeType

代表节点的类型。

parentNode

以Node的形式返回当前节点的父节点。如果没有父节点,则为null。

previousSibling

以Node的形式返回紧挨当前节点、位于它之前的兄弟节点。如果没有这样的节点,则返回null。

Node对象常用方法:

方法

描述

appendChild()

通过把一个节点增加到当前节点的childNodes[]组,给文档树增加节点。

cloneNode()

复制当前节点,或者复制当前节点以及它的所有子孙节点。

hasChildNodes()

如果当前节点拥有子节点,则将返回true。

insertBefore()

给文档树插入一个节点,位置在当前节点的指定子节点之前。如果该节点已经存在,则删除之再插入到它的位置。

removeChild()

从文档树中删除并返回指定的子节点。

replaceChild()

从文档树中删除并返回指定的子节点,用另一个节点替换它。


获取元素的值

下面的代码检索第一个 元素的文本值:</p><pre class="brush:xml;toolbar:false;">x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];txt=x.nodeValue; //其实应该先判断节点是否存在</pre><p>结果:txt = "Harry Potter"</p><h3>获取属性的值</h3><p>下面的代码检索第一个 <title> 元素的 "lang" 属性的文本值:</p><pre class="brush:xml;toolbar:false;">txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");</pre><p>结果:txt = "en"</p><h3>改变元素的值</h3><p>下面的代码改变第一个 <title> 元素的文本值:</p><pre class="brush:xml;toolbar:false;">x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];x.nodeValue="Easy Cooking";</pre><h3>改变属性的值</h3><p>setAttribute() 方法可用于改变已有属性的值,或创建一个新属性。</p><p>下面的代码向每个 <book> 元素添加了名为 "edition" 的新属性(值是 "first"):</p><pre class="brush:xml;toolbar:false;">x=xmlDoc.getElementsByTagName("book");for(i=0;i<x.length;i++) { x[i].setAttribute("edition","first"); }</pre><h3>创建元素</h3><p>createElement() 方法创建新的元素节点。</p><p>createTextNode() 方法创建新的文本节点。</p><p>appendChild() 方法向节点添加子节点(在最后一个子节点之后)。</p><p>如需创建带有文本内容的新元素,需要同时创建元素节点和文本节点。</p><p>下面的代码创建了一个元素 (<edition>),然后把它添加到第一个 <book> 元素中:</p><pre class="brush:xml;toolbar:false;">newel=xmlDoc.createElement("edition");</pre><pre class="brush:xml;toolbar:false;">newtext=xmlDoc.createTextNode("First");</pre><pre class="brush:xml;toolbar:false;">newel.appendChild(newtext);</pre><pre class="brush:xml;toolbar:false;">x=xmlDoc.getElementsByTagName("book");x[0].appendChild(newel);</pre><h4>例子解释:</h4><ol class="list-paddingleft-2"><li><p>创建 <edition> 元素</p></li><li><p>创建值为 "First" 的文本节点</p></li><li><p>把这个文本节点追加到 <edition> 元素</p></li><li><p>把 <edition> 元素追加到第一个 <book> 元素</p></li></ol><h3>删除元素</h3><p>removeChild() 方法删除指定的节点(或元素)。</p><p>下面的代码片段将删除第一个 <book> 元素中的第一个节点:</p><pre class="brush:xml;toolbar:false;">x=xmlDoc.getElementsByTagName("book")[0];x.removeChild(x.childNodes[0]);</pre><h3>实例代码</h3><pre class="brush:xml;toolbar:false;"><br><html xmlns="http://www.w3.org/1999/xhtml"><br><head runat="server"><br><title>












感谢你能够认真阅读完这篇文章,希望小编分享的"XML中DOM操作XML文档的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

节点 属性 元素 方法 文档 文本 形式 代码 面的 对象 服务器 服务 参数 常用 篇文章 类型 循环 个子 名字 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 互联网科技有限公司 广州万易互联网科技有限公司 互联网下的科技发展 互联网 卓越科技 华中科技大学互联网 长亮科技互联网金融 海南科技产业互联网平台 汉立互联网科技有限公司联系电话 科技与互联网的利与弊 温州喔噻互联网科技有限公司 阿里巴巴算科技企业还是互联网 互联网为啥属于高科技 厦门比较好的科技互联网公司 智腾互联网科技有限公司 互联网科技公司营业执照怎么办理 雨阳互联网卡科技有限公司 扫呗互联网科技有限公司 宁波跨境商互联网科技有限公司 广州三三互联网科技有限公司 美国互联网科技 云电互联网科技 互联网高科技企业 互联网 科技馆 成都玖崟互联网科技有限公司乐商圈怎么样 新华互联网科技2019 互联网金融中的现代科技 彤创互联网科技有限公司 链环科技传统企业怎么转型互联网 世界互联网科技成果奖
0