js访问xml之遍历节点树的代码

发布时间:2020-03-03编辑:脚本学堂
如何访问xml并遍历节点树呢?这里分享一例js代码,用于遍历xml文件的节点数,有需要的朋友参考下。

1,xml文件
book.xml
 

复制代码 代码示例:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
 <book category="COOKING">
   <title lang="en">Everyday Italian</title>
   <author>Giada De Laurentiis</author>
   <year>2005</year>
   <price>30.00</price>
 </book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
<book category="WEB">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>
</bookstore>

2,js代码 books.jsp 用于节点遍历。
 

复制代码 代码示例:

<html>
<head>
<script type="text/javascript" src="loadXML.js"></script>  //在上面的一篇文章里面有
</head>
<body>
<script type="text/javascript">

xmlDoc=loadXMLDoc("book.xml");

// documentElement always represents the root node
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{
document.write(x[i].nodeName);
document.write(": ");
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}
</script>
</body>
</html>

3,xml字符串 遍历节点树
 

复制代码 代码示例:

<html>
<head>
<script type="text/javascript" src="loadXML.js"></script>
</head>
<body>
<script type="text/javascript">
text="<book>";
text=text+"<title>Everyday Italian</title>";
text=text+"<author>Giada De Laurentiis</author>";
text=text+"<year>2005</year>";
text=text+"</book>";

xmlDoc=loadXMLString(text);

// documentElement always represents the root node
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
  {
  document.write(x[i].nodeName);
  document.write(": ");
  document.write(x[i].childNodes[0].nodeValue);
  document.write("<br />");
  }
</script>
</body>
</html>