XML DOM 高级

简介: XML DOM 高级

XML DOM - 高级

本教程的较早章节中,我们介绍了 XML DOM,并使用了 XML DOM 的 getElementsByTagName() 方法从 XML 文档中取回数据。

在本章中我们将结合一些其他重要的 XML DOM 方法。

您可以在我们的 XML DOM 教程 中学习更多有关 XML DOM 的知识。


获取元素的值

下面的实例中使用的 XML 文件:books.xml

下面的实例检索第一个 <title> 元素的文本值:

实例

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;


尝试一下 »


获取属性的值

下面的实例检索第一个 <title> 元素的 "lang" 属性的文本值:

实例

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");


尝试一下 »


改变元素的值

下面的实例改变第一个 <title> 元素的文本值:

实例

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.nodeValue="Easy Cooking";


尝试一下 »


创建新的属性

XML DOM 的 setAttribute() 方法可用于改变现有的属性值,或创建一个新的属性。

下面的实例创建了一个新的属性(edition="first"),然后把它添加到每一个 <book> 元素中:

实例

x=xmlDoc.getElementsByTagName("book");


for(i=0;i<x.length;i++)

{

x[i].setAttribute("edition","first");

}


尝试一下 »


创建元素

XML DOM 的 createElement() 方法创建一个新的元素节点。

XML DOM 的 createTextNode() 方法创建一个新的文本节点。

XML DOM 的 appendChild() 方法向节点添加子节点(在最后一个子节点之后)。

如需创建带有文本内容的新元素,需要同时创建元一个新的元素节点和一个新的文本节点,然后把他追加到现有的节点。

下面的实例创建了一个新的元素(<edition>),带有如下文本:First,然后把它添加到第一个 <book> 元素:

实例

newel=xmlDoc.createElement("edition");

newtext=xmlDoc.createTextNode("First");

newel.appendChild(newtext);


x=xmlDoc.getElementsByTagName("book");

x[0].appendChild(newel);


尝试一下 »

实例解释

  • 创建一个 <edition> 元素
  • 创建值为 "First" 的文本节点
  • 把这个文本节点追加到新的 <edition> 元素
  • 把 <edition> 元素追加到第一个 <book> 元素

删除元素

下面的实例删除第一个 <book> 元素的第一个节点:

实例

x=xmlDoc.getElementsByTagName("book")[0];

x.removeChild(x.childNodes[0]);


尝试一下 »

注释:上面实例的结果可能会根据所用的浏览器而不同。Firefox 把新行字符当作空的文本节点,而 Internet Explorer 不是这样。您可以在我们的 XML DOM 教程 中阅读到更多有关这个问题以及如何避免它的知识。

相关文章
|
1月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
1月前
|
XML Web App开发 JavaScript
XML DOM
10月更文挑战第2天
|
3月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM解析器是内置在大多数浏览器中的工具,用于读取和操作XML文档。它将XML数据转换成JavaScript可访问的XML DOM对象。DOM提供了一系列方法和函数来遍历、访问、插入和删除XML树的节点。在处理XML文档前,需要先加载到DOM中。示例代码展示了如何通过XMLHTTP对象加载并设置&quot;books.xml&quot;为XML DOM对象以供后续操作。
|
26天前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
3月前
|
XML Web App开发 JavaScript
XML DOM 解析器
大多数浏览器内置了XML解析器,能将XML文档转化为JavaScript可操作的XML DOM对象。此对象提供了遍历、访问及修改XML树的方法。使用内建解析器加载并处理XML前,需先将文档加载至DOM。示例代码展示了如何通过XMLHttpRequest加载名为&quot;books.xml&quot;的文件,并将其内容作为XML DOM对象获取。
|
24天前
|
缓存 UED
动态组件与 keep-alive 搭配使用时的生命周期钩子
【10月更文挑战第19天】动态组件与 keep-alive 搭配使用时的生命周期钩子为我们提供了更多的灵活性和可操作性,使我们能够更好地管理组件的状态和行为。深入理解和掌握这些钩子的特点和用法,以便在实际开发中能够更加得心应手地运用它们,为我们的应用带来更优秀的用户体验和性能表现。
111 62
|
6月前
|
XML JavaScript 数据格式
XML DOM 简介
XML DOM是W3C标准,提供访问和处理XML及HTML文档的统一接口。它分为核心DOM、XML DOM和HTML DOM三个部分。DOM定义了文档元素的对象、属性及访问方法。HTML DOM专注HTML,而XML DOM专注于XML,两者均为平台和语言中立的标准化编程接口,用于创建、修改和操作文档内容。
|
6月前
|
XML 存储 JavaScript
深入学习 XML 解析器及 DOM 操作技术
所有主要的浏览器都内置了一个XML解析器,用于访问和操作XML XML 解析器 在访问XML文档之前,必须将其加载到XML DOM对象中 所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XML DOM对象
123 0
|
XML JavaScript 数据格式
QT Dom方式操作XML
本文提供了读者已知的XML文件语法结构,对xml基础知识不作介绍,仅介绍了QT操作xml的方法之一。
277 0
|
XML 测试技术 数据格式
【JavaWeb】XML的理解与Dom4j解析技术的使用(下)
1 xml简介 2 xml入门 2.1 xml示例文件 2.2 xml语法介绍 2.2.1 xml注释 2.2.2 元素(标签) 2.2.3 xml的属性 2.2.4 xml语法规范 2.2.5 文本区域(CDARA) 2.3 xml解析技术 3 Dom4j 解析技术 3.1 Dom4j 类库的下载与简介 3.2 dom4j编程一般步骤 3.3 案例:使用dom4j读取xml文件得到Document对象
【JavaWeb】XML的理解与Dom4j解析技术的使用(下)