0

我有一个 xml 文件,我正在使用 ajax 进行拆分:

<country name="UK">
        <person>
            <name>daniel</name>
            <age>25</city>
        </person>
        <person>
            <name>james</name>
            <age>22</city>
        </person>
        <person>
            <name>brandy</name>
            <age>16</city>
        </person>
        <person>
            <name>nathan</name>
            <age>66</city>
        </person>
    </country>
    <country name="france">
        <person>
            <name>paul</name>
            <age>28</city>
        </person>
        <person>
            <name>pierr</name>
            <age>22</city>
        </person>
    </country>

我的任何 JS 看起来都像这样:

<script type="text/javascript">
function loadXMLDoc() {
xmlhttp=null;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() 
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
          {
          xmlDoc=xmlhttp.responseXML;
          var txt="";
          x=xmlDoc.getElementsByTagName("name");
          for (i=0;i<x.length;i++)
            {
            txt=txt + x[i].childNodes[0].nodeValue + "<br />";
            }
          document.getElementById("myDivName").innerHTML=txt;
          //somehow get the country of that person to write here
          document.getElementById("myDivCountry").innerHTML=txt;

          }
      xmlhttp.open("GET","people.xml",true);
      xmlhttp.send();
      }

}
</script>

JS 会打印这个人的名字,但是我如何得到那个人所属的国家的名字呢?

这是为这个问题编写的所有示例内容......我没有正确的 xml - 它是来自我要过滤的另一个位置的提要

谢谢

4

1 回答 1

0

您可以使用parentNode属性访问country标签及其属性名称name以获取其值:

var countryNames = "";
for (var i = 0; i < x.length; i++)
{
    txt += x[i].childNodes[0].nodeValue + "<br />";
    countryNames += x[i].parentNode.parentNode.name + "<br />";
}
于 2012-06-12T21:27:04.730 回答