小码哥的IT人生

XML DOM getElementsByTagNameNS() 方法

XML基础 2023-08-12 23:59:07小码哥的IT人生shichen

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 />");
  }

TIY

完整实例【createElementNS() - 创建带有命名空间的元素节点】:

<html>
<head>
<script type="text/javascript" src="/demo/example/xdom/loadxmldoc.js">
</script>
</head>
<body>
<script type="text/javascript">
xmlDoc=loadXMLDoc("/demo/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);
}
//Output all titles and editions
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(" Namespace: ");
document.write(z[i].namespaceURI);
document.write("<br />");
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

(不支持 IE 浏览器)

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024