JSRUN 用代码说话

DOM - 高级

编辑教程

DOM - 高级

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

您可以在我们的 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() 方法向节点添加子节点(在最后一个子节点之后)。

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

下面的实例创建了一个新的元素(),带有如下文本: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 不是这样。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟