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 解析器
|
3月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器内置在多数浏览器中,用于将 XML 文件转换成 JavaScript 可操作的 XML DOM 对象。此对象提供了一系列方法,支持 XML 树的遍历与节点的增删改查。在处理 XML 前需先加载文档至 DOM。示例代码展示了如何使用 XMLHttpRequest 加载 &quot;books.xml&quot; 并将其内容作为 XML DOM 对象获取。
|
30天前
|
XML Web App开发 JavaScript
XML DOM
10月更文挑战第2天
|
15天前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
3月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器内置在多数浏览器中,用于将 XML 文件转化为 JavaScript 可操作的 XML DOM 对象。此对象提供了一系列方法来遍历 XML 结构并支持节点的访问、插入及删除。在使用前需先加载 XML 文档至 DOM 对象。示例代码展示了如何利用 XMLHTTP 请求加载 &quot;books.xml&quot; 并将其内容存储为 XML DOM 对象以备后续处理。
|
14天前
|
缓存 UED
动态组件与 keep-alive 搭配使用时的生命周期钩子
【10月更文挑战第19天】动态组件与 keep-alive 搭配使用时的生命周期钩子为我们提供了更多的灵活性和可操作性,使我们能够更好地管理组件的状态和行为。深入理解和掌握这些钩子的特点和用法,以便在实际开发中能够更加得心应手地运用它们,为我们的应用带来更优秀的用户体验和性能表现。
109 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对象
122 0
|
3天前
|
XML JavaScript 前端开发
XML 注意事项
XML 注意事项
|
XML JavaScript 数据格式
QT Dom方式操作XML
本文提供了读者已知的XML文件语法结构,对xml基础知识不作介绍,仅介绍了QT操作xml的方法之一。
274 0