XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。

XML DOM

DOM 把 XML 文档视为一种树结构。通过这个 DOM 树,可以访问所有的元素。可以修改它们的内容(文本以及属性),而且可以创建新的元素。元素,以及它们的文本和属性,均被视为节点。

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

在本节中,我们将讲解一些其他较常用的 XML DOM 方法。在本例中,我们使用 XML 文件 books.xml,并使用一个 JavaScript 函数把 XML 文件加载到名为 xmlDoc 的 DOM 对象中。

如需学习更多有关 XML DOM 的知识,请访问我们的 XML DOM 教程。

获取元素的值

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

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

结果:txt = "Harry Potter"

亲自试一试

获取属性的值

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

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

结果:txt = "en"

亲自试一试

改变元素的值

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

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

亲自试一试

改变属性的值

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

下面的代码向每个 <book> 元素添加了名为 "edition" 的新属性(值是 "first"):

x=xmlDoc.getElementsByTagName("book");

for(i=0;i<x.length;i++)
  {
  x[i].setAttribute("edition","first");
  }

亲自试一试

创建元素

createElement() 方法创建新的元素节点。

createTextNode() 方法创建新的文本节点。

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

如需创建带有文本内容的新元素,需要同时创建元素节点和文本节点。

下面的代码创建了一个元素 (<edition>),然后把它添加到第一个 <book> 元素中:

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);

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

例子解释:

  1. 创建 <edition> 元素
  2. 创建值为 "First" 的文本节点
  3. 把这个文本节点追加到 <edition> 元素
  4. 把 <edition> 元素追加到第一个 <book> 元素

亲自试一试

删除元素

removeChild() 方法删除指定的节点(或元素)。

下面的代码片段将删除第一个 <book> 元素中的第一个节点:

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

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

亲自试一试

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

这里提供的 XML DOM 实例,只向您展示了少数几项我们可以利用 XML DOM 完成的工作。

原文地址:https://www.cnblogs.com/furuihua/p/11383764.html

时间: 2024-08-03 23:34:41

XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。的相关文章

DOM The Document Object Model 以树状结构组织的文档对象模型

DOM实际上是以面向对象方式描述的对象模型,它将文档建模为一个个对象,以树状的结构组织(本文称之为“文档树”,树中的对象称为“节点”). html\xml文档解析后会以DOM的形式保存在内存中. html\xml 和dom只是相同信息的不同保存形式. html\xml便于人类阅读: dom便于机器阅读: 原文地址:https://www.cnblogs.com/feng9exe/p/12200470.html

DOM - Document Object Model

Document Object Model

DOM(document object model)文档对象模型

DOM是文档对象,它是把整个页面封装成一个对象.页面是由很多节点组成的,节点又包括元素,属性,文本.获取页面元素的方式有三种. 第一: getElementById,通过Id值来获取整个标签的所有属性. 第二:  getElementsByTagName,通过标签名值来获取整个标签的所有属性,它获得元素会以数组方式存在,你要取用时,要用数组的方法取. 第三: getElementsByClassName,通过类名来获取整个标签的所有属性,它获得元素会以数组方式存在,你要取用时,要用数组的方法取,

Document Object Model

1. DOM => Document Object Model(文档对象模型); DOM是一个树形结构;由Node\Element(节点\元素)构成;2.Node\Element; element.id\element.className\element.value\.... element.tagName\element.nodeName => 元素的标签名; element.nodeType; => 元素的类型; Element(1); => 元素; Attbribute(2)

XML DOM(Document Object Model)

1.XML DOM 是用于获取.更改.添加或删除 XML 元素的标准.2.节点(XML 文档中的每个成分都是一个节点):        整个文档是一个文档节点:        每个XML元素是一个元素节点:        包含在XML元素中的文本是文本节点:        每一个XML属性是一个属性节点:        注释是注释节点:3.加载XML文档 if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览

Document Object Model (DOM) Level 3 Events Specification

Document Object Model (DOM) Level 3 Events Specification W3C Working Draft 25 September 2014 This version: http://www.w3.org/TR/2014/WD-DOM-Level-3-Events-20140925/ Latest published version: http://www.w3.org/TR/DOM-Level-3-Events/ Latest editor's dr

文本对象模型(Document Object Model)

本文内容: 1. 概述 2. DOM中的节点类型 3. DOM节点的选取 4. 存取元素属性 5.DOM元素的增删 6.小结 ★ 概述 文本对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内容,结构和样式的语言平台,提供了标准的HTML和XML对象集,并有一个标准的接口来访问操作他们. --摘自W3C 文本对象模型(Document Object Model,DOM),最初是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准,然而主要是针对IE和Netscape Nav

JS--dom对象:document object model文档对象模型

dom对象:document object model文档对象模型 文档:超文本标记文档 html xml 对象:提供了属性和方法 模型:使用属性和方法操作超文本标记性文档 可以使用js里面的DOM提供的对象,使用这些对象的属性和方法,对标记性文档进行操作 想要对标记性文档进行操作,首先需要对标记性文档里面的所有内容封装成对象 对HTML 标签 属性 文本内容都封装为对象 要想对标记性文档进行操作,解析标记性文档 --使用DOM解析HTML过程 根据HTML的层级结构,在内存中分配一个树形结构,

Document Object Model 文档对象模型

===DOM==== 一组API. 作用: 1.修改标签属性 2.增加删除html文本中的标签 操作: 1.查找 方式1:使用id或者标签名,查找节点 document.getElementById("id值"); document.getElementsByTagName("标签名"); 方式2:遍历 parentNode:父节点 previousSibling:前一个兄弟节点 nextSibling:后一个兄弟节点 childNodes:孩子节点,返回数组 fi