0

我需要用 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 的频道信息及其名称和时间。

4

1 回答 1

1

使用 getAttribute 方法确定是为通道 id 1 还是通道 id 2 拉取 XML,然后输出该内容。在 for 循环中,使用:

if(x[i].getAttribute('id') == 1or2) {做任何事}

见:http ://www.w3schools.com/dom/met_element_getattribute.asp

于 2013-01-17T03:28:39.480 回答