У меня есть следующий XML-файл. Я хочу отобразить каждый дочерний узел узла comment
при условии, что значение узла title
равно «эй» (например).Отображение узлов из файла XML
<?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>";
}
}
}
}
Не могли бы вы помочь, чтобы отобразить все дочерние узлы из комментария узла? –
@PhilippBraun Update – dcodesmith
одобрит ваш ответ. но не могли бы вы сказать мне, как я получаю количество узлов комментариев в узле ввода? –