小白教程
所有教程
关于
Search
172.70.130.198
172.70.130.198
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“XML DOM 高级”的源代码
本页内容
上一节:
服务器上的_XML
下一节:
XML_注意事项
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:XML DOM 高级}}[[Category:xml 教程|22]] = XML DOM 高级 = == XML DOM - 高级 == 在[[xml dom|本教程的较早章节]]中,我们介绍了 XML DOM,并使用了 XML DOM 的 getElementsByTagName() 方法从 XML 文档中取回数据。 在本章中我们将结合一些其他重要的 XML DOM 方法。 您可以在我们的 [[dom tutorial|XML DOM 教程]] 中学习更多有关 XML DOM 的知识。 == 获取元素的值 == 下面的实例中使用的 XML 文件:[[books.xml|books.xml]]。 下面的实例检索第一个 <title> 元素的文本值: <sample title="" desc="" lang="xml" hererun="1"> txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; </sample> == 获取属性的值 == 下面的实例检索第一个 <title> 元素的 "lang" 属性的文本值: <sample title="" desc="" lang="xml" hererun="1"> txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang"); </sample> == 改变元素的值 == 下面的实例改变第一个 <title> 元素的文本值: <sample title="" desc="" lang="xml" hererun="1"> x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking"; </sample> == 创建新的属性 == XML DOM 的 setAttribute() 方法可用于改变现有的属性值,或创建一个新的属性。 下面的实例创建了一个新的属性(edition="first"),然后把它添加到每一个 <book> 元素中: <sample title="" desc="" lang="xml" hererun="1"> x=xmlDoc.getElementsByTagName("book"); for(i=0;i<x.length;i++) { x[i].setAttribute("edition","first"); } </sample> == 创建元素 == XML DOM 的 createElement() 方法创建一个新的元素节点。 XML DOM 的 createTextNode() 方法创建一个新的文本节点。 XML DOM 的 appendChild() 方法向节点添加子节点(在最后一个子节点之后)。 如需创建带有文本内容的新元素,需要同时创建元一个新的元素节点和一个新的文本节点,然后把他追加到现有的节点。 下面的实例创建了一个新的元素(<edition>),带有如下文本:First,然后把它添加到第一个 <book> 元素: <sample title="" desc="" lang="xml" hererun="1"> newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("First"); newel.appendChild(newtext); x=xmlDoc.getElementsByTagName("book"); x[0].appendChild(newel); </sample> 实例解释 * 创建一个 <edition> 元素 * 创建值为 "First" 的文本节点 * 把这个文本节点追加到新的 <edition> 元素 * 把 <edition> 元素追加到第一个 <book> 元素 == 删除元素 == 下面的实例删除第一个 <book> 元素的第一个节点: <sample title="" desc="" lang="xml" hererun="1"> x=xmlDoc.getElementsByTagName("book")[0]; x.removeChild(x.childNodes[0]); </sample> '''注释:'''上面实例的结果可能会根据所用的浏览器而不同。Firefox 把新行字符当作空的文本节点,而 Internet Explorer 不是这样。您可以在我们的 [[dom tutorial|XML DOM 教程]] 中阅读到更多有关这个问题以及如何避免它的知识。
返回至“
XML DOM 高级
”。
上一节:
服务器上的_XML
下一节:
XML_注意事项