使用Javascript显示XML

时间:2015-10-27 16:24:45

标签: javascript xml

这是我的示例XML代码:

<?xml version="1.0" encoding="UTF-8"?>
<entry n="5">
<form type="lemma">hi
    <orth xml:lang="syc">ܐܳܐܱܪ</orth>
</form>

<gramGrp>
    <gram type="pos">noun</gram>
    <gram type="gender">commonGender</gram>
</gramGrp>

<etym>
    <lang>Greek</lang>
    <mentioned>ἀήρ</mentioned>
</etym>     

<form type="inflected" ana="#n_pl">
    <orth xml:lang="syc">ܐܰܐܷܪ̈ܰܣ</orth>
</form>

<sense>
    <cit type="translation" xml:lang="en">
        <quote>air, breeze</quote>
    </cit>
</sense>
</entry>

我需要以格式化的方式显示它,具体取决于标签。我已按照w3schools http://www.w3schools.com/xml/xml_applications.asp中的代码进行操作,并根据需要更改文件名和TagName值。最后......没有任何反应,只是一个空白的屏幕。我有一台服务器,我正在运行它,顺便说一句。

使用Javascript:

<script>
function loadXMLDoc() {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        myFunction(xmlhttp);
        }
    }   
    xmlhttp.open("GET", "dict.xml", true);
    xmlhttp.send();
}
function myFunction(xml) {
    var i;
    var xmlDoc = xml.responseXML;
    var table="<tr><th>Artist</th><th>Title</th></tr>";
    var x = xmlDoc.getElementsByTagName("entry");
    for (i = 0; i <x.length; i++) { 
        table += "<tr><td>" +
        x[i].getElementsByTagName("lemma")[0].childNodes[0].nodeValue +
        "</td><td>" +
        x[i].getElementsByTagName("sense")[0].childNodes[0].nodeValue +
        "</td></tr>";
    }
document.getElementById("demo").innerHTML = table;
}
</script>

我会担心所有的格式都是正确的以及之后代表的所有标签,我只需要让它完全正常工作,首先。

0 个答案:

没有答案