我有这个小例子:
/*
<elements id_srv=1233 id_elem=23>
<element value1=54 value2=33 value3=62 />
<element value1=67 value2=14 value3=98 />
<element value1=21 value2=45 value3=81 />
</elements>
<elements id_srv=1233 id_elem=37>
<element value1=79 value2=41 value3=80 />
<element value1=43 value2=17 value3=91 />
<element value1=29 value2=85 value3=12 />
</elements>
*/
elements.push({id_srv:1233; id_elem:23});
elements.push({id_srv:1233; id_elem:37});
for (var i=0;i<elements.length;i++) {
var node = xmlDoc.xpath('//elements[@id_srv='+elements[i].id_srv+';@id_elem='+elements[i].id_elem+'/element');
for (var j=0;j<node.length;j++) {
var value1=elements_group.getElementByName("element").getAttribute("value1");
var value2=elements_group.getElementByName("element").getAttribute("value2");
var value3=elements_group.getElementByName("element").getAttribute("value3");
[...doing whatever with attributes values...]
}
}
我试图提取一个节点及其子节点,如注释部分所示,使用xpath通过其属性查找它,然后我可以处理子节点的属性....我怀疑是xpath语法,因为我什么都没得到...是xpath语法对吗?
先谢谢大家!
干杯, 路易
答案 0 :(得分:0)
假设您想要匹配id_src
和 id_elem
属性,我认为您需要这样的内容
xmlDoc.xpath("//elements[@id_src='" + elements[i].id_src +
"' and @id_elem='" + elements[i].id_elem + "']/element")