XML DOM getElementsByTagNameNS() 方法
定义和用法
getElementsByTagNameNS() 方法可返回带有指定名称和命名空间的所有元素的一个节点列表。
语法:
- getElementsByTagNameNS(ns,name)
参数 | 描述 |
---|---|
ns | 字符串值,可规定需检索的命名空间名称。值 "" 可匹配所有的标签。 |
name | 字符串值,可规定需检索的标签名。值 "" 可匹配所有的标签。 |
返回值
文档树中具有指定命名空间和本地名的 Element 节点的只读数组(从技术上讲,是 NodeList 对象)。
说明
该方法与 getElementsByTagName() 方法相似,只是它根据命名空间和名称来检索元素。只有使用命名空间的 XML 文档才会使用它。
实例
在所有的例子中,我们将使用 XML 文件 books.xml,以及 JavaScript 函数 loadXMLDoc()。
以下代码片段可向每个 <book> 元素添加一个带有命名空间的元素节点:
- xmlDoc=loadXMLDoc("/example/xdom/books.xml");
- var x=xmlDoc.getElementsByTagName('book');
- var newel,newtext;
- for (i=0;i<x.length;i++)
- {
- newel=
xmlDoc.createElementNS('p','edition')
;- newtext=xmlDoc.createTextNode('First');
- newel.appendChild(newtext);
- x[i].appendChild(newel);
- }
- //输出所有 title 和 edition
- var y=xmlDoc.getElementsByTagName("title");
- var z=
xmlDoc.getElementsByTagNameNS("p","edition")
;- for (i=0;i<y.length;i++)
- {
- document.write(y[i].childNodes[0].nodeValue);
- document.write(" - ");
- document.write(z[i].childNodes[0].nodeValue);
- document.write(" edition");
- document.write("<br />");
- }