我曾尝试制作一个脚本,该脚本返回具有特定ID属性的元素的子节点,但它在我做的每一种方式都失败了。可以帮我吗?
我的XML文档是这样的:
<prices>
<car id="1">
<name>Toyota</name>
<price_day>250</price_day>
</car>
<car id="2">
<name>Opel</name>
<price_day>100</price_day>
</car>
</prices>
我想使用JavaScript
来获取id="1"
的汽车数据。
我的最后一次尝试是这样的:
var x=xmlDoc.getElementsByTagName("car");
for (i=0;i<x.length;i++)
{
document.write(x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);
}
它写下所有条目......
答案 0 :(得分:1)
试
var x= xmlDoc.getElementsByTagName("car")[0].getElementsByTagName("name")[0].childNodes[0].nodeValue;
答案 1 :(得分:0)
试试这个:
var txt='<prices><car id="1"><name>Toyota</name><price_day>250</price_day></car> <car id="2"><name>Opel</name><price_day>100</price_day></car></prices>';
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
var x=xmlDoc.getElementsByTagName("car");
for (i=0;i<x.length;i++)
{
if(x[i].getAttribute('id')=='1')
{
alert(x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);
}
}