我有以下 XML 文件。我想在节点值等于“嘿”comment
的情况下显示节点的每个子节点(例如)。title
<?xml version="1.0" encoding="ISO-8859-1"?>
<database>
<entry>
<title>hey</title>
<content>it works!!</content>
<time>8/6/2013 3:05:59 PM</time>
<comment><title>aa</title><text>bb</text><rating>2</rating></comment>
<comment><title>yyyyy</title><text>yyyy</text><rating>0</rating></comment>
</entry>
<entry>
<title>aaaaaaaaaaaaaa</title>
<content>aaaaaaaaa</content>
<time>8/6/2013 3:08:11 PM</time>
</entry>
</database>
我尝试使用一些for
循环来执行此操作,但它并不总是有效。有没有一种简单的方法可以使用 javascript 解决我的问题?
这是我尝试使用的一些示例代码(仅第一部分)。我应该如何从这里继续?
x=xmlDoc.documentElement.childNodes;
for (a=0;a<x.length;a++) {
if (x.item(a).nodeType==1) {
if(x.item(a).getElementsByTagName("title")[0].childNodes[0].nodeValue=="<?php echo $_REQUEST["title"]; ?>") {
for (b=0;b<3;b++) {
document.getElementById("comments").innerHTML += "<h3>"+x.item(a).getElementsByTagName("comment")[b].childNodes[0].textContent+"</h3>";
document.getElementById("comments").innerHTML += "<p>"+x.item(a).getElementsByTagName("comment")[b].childNodes[1].textContent+"</p>";
document.getElementById("comments").innerHTML += "<div>"+x.item(a).getElementsByTagName("comment")[b].childNodes[2].textContent+"</div>";
document.getElementById("comments").innerHTML += "<hr></hr>";
}
}
}
}