2013-06-28 59 views
0

我有以下结构,我想要获得名称为innerItem的所有节点的列表。由于外部原因,我可以在查询中使用的唯一节点名称是childId只有当祖父母匹配一个特定名称时才匹配xpath

复杂性是在innerItem节点和innerItemData节点中都找到了childId节点。

我必须只匹配innerItem`因为我想返回所有这些。

这是可能的一个单一的xpath表达式?

基本上我想说,找到我的所有innerItem节点,其中有一个值为123的childId节点和“容器”的grandParent节点名称。

我需要离开祖父母的工作,因为这永远不会改变,将永远被称为“容器”,而innerContainer_abc可以改变,即它可以innerContainer_def等

<?xml version="1.0" encoding="UTF-8"?> 
<Container> 
    <MetaData> 
     <id>1</id> 
     <date /> 
    </MetaData> 
    <innerContainer_abc> 
     <innerItem> 
      <childId>123</childId> 
      <childCode>123-abc</childCode> 
      <innerItemData> 
       <childId>123</childId> 
      </innerItemData> 
     </innerItem> 
     <innerItem> 
      <childId>123</childId> 
      <childCode>123-def</childCode> 
      <innerItemData> 
       <childId>123</childId> 
      </innerItemData> 
     </innerItem> 
    </innerContainer_abc> 
<Container> 

回答

0

可能这是你在找什么为:

//Container/*/innerItem[childId='123'] 

这是寻找与元素的所有innerItem childID的价值室内用“123”作为直接子和 集装箱为“祖父母”。

+0

工作!谢谢 –

相关问题