用于提取节点的Xpath语法

时间:2013-11-15 04:20:56

标签: xpath

我有这个小例子:

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

先谢谢大家!

干杯, 路易

1 个答案:

答案 0 :(得分:0)

假设您想要匹配id_src id_elem属性,我认为您需要这样的内容

xmlDoc.xpath("//elements[@id_src='" + elements[i].id_src +
    "' and @id_elem='" + elements[i].id_elem + "']/element")