当前位置:K88软件开发文章中心编程语言XmlXml01 → 文章内容

XML DOM 高级

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-13 10:49:16

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 教程 中阅读到更多有关这个问题以及如何避免它的知识。

XML DOM 高级