0

我有这个小例子:

/*
<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语法对吗?

在此先感谢大家!

干杯,路易吉

4

1 回答 1

0

假设您想匹配id_src and id_elem属性,我认为您想要这样的东西

xmlDoc.xpath("//elements[@id_src='" + elements[i].id_src +
    "' and @id_elem='" + elements[i].id_elem + "']/element")
于 2013-11-15T04:25:37.587 回答