我有一个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 - 它是来自我想要过滤的其他位置的提要
感谢
丹
答案 0 :(得分: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 />";
}