我需要一些关于JavaScript的帮助,我已经创建了一个XML文件,我将在JavaScript的帮助下创建一个遍历所有节点元素的循环。以下是我的XML文件,所以我需要一些帮助来打印所有节点名称和JavaScript的节点值,而不是JQUERY。
<?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" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
谢谢
答案 0 :(得分:2)
您可以使用浏览器内置xml parser来执行此操作。但是使用JSON和Javascript更方便。
var txt = "..."; // here is your xml as a string
if (window.DOMParser) {
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
} else { // Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
然后您可以像使用DOM树一样使用xmlDoc
进行操作。例如,让我们提醒所有标签名称和值:
var tags = xmlDoc.getElementsByTagName('*');
for (var i = 0; i < tags.length; i++) {
alert(tags[i].nodeName + ' = ' + tags[i].firstChild.nodeValue);
}
或者可能XSLT可以帮助您(点击“自己动手”按钮查看它是如何工作的。)。这是将XML数据转换为html页面的方法。