我需要使用HTML和javascript解析XML解析。
我的XML:
<tv_channel id = "1">
<movie>
<name>Movie 1</name>
<time>6:00</time>
</movie>
<movie>
<name>Movie 2</name>
<time>6:30</time>
</movie>
</tv_channel>
<tv_channel id = "2">
<movie>
<name>Movie 3</name>
<time>11:15</time>
</movie>
<movie>
<name>Movie 4</name>
<time>13:45</time>
</movie>
</tv_channel>
我的Javascript是
function vyberZaner(zaner, nazov, from, to) {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "XML.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
var txt = document.getElementById('div_table')
var content = '';
content += '<table border=\'1\'>';
var x = xmlDoc.getElementsByTagName("tv_channel");
content += '<h1 > ' + nazov + ' </h1>';
content += ("<td> NAME </td>");
content += ("<td> GENRE </td>");
for (i = 0; i < x.length; i++) {
content += '<tr><td>';
content += x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
content += '</td><td>';
content += x[i].getElementsByTagName("time")[0].childNodes[0].nodeValue;
content += '</td></tr>';
}
content += '</table>';
txt.innerHTML = content;
}
输出
Movie 1 6:00
Movie 2 6:00
Movie 3 6:00
Movie 4 6:00
我只需要两个
Movie 1 6:00
Movie 2 6:00
或
Movie 3 6:00
Movie 4 6:00
这取决于id
,但我不知道该怎么做。
我只需要输出像“电影1和电影2”或“电影3和电影4”。用户将选择按钮选择xml,并仅显示id为1或id为2的频道信息及其名称和时间。
答案 0 :(得分:1)
使用getAttribute方法确定是否为通道ID 1或通道ID 2提取XML,然后输出该内容。在for循环中,使用:
if(x [i] .getAttribute('id')== 1or2){do whatever}
请参阅:http://www.w3schools.com/dom/met_element_getattribute.asp