我有以下结构,我希望获得名称为innerItem
的所有节点的列表。出于外部原因,我可以在查询中使用的唯一节点名称是childId
。
复杂性是在innerItem
节点和innerItemData节点中都找到了childId节点。
我必须只匹配innerItem`,因为我想要返回所有这些。
这是否可以使用单个xpath表达式?
基本上我想说,找到我所有的innerItem节点,它们的childId节点的值为123,grandParent节点的名称为“Container”。
我需要在祖父母工作,因为这永远不会改变,并且将永远被称为“容器”,而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 :(得分:0)
可能这就是你要找的东西:
//Container/*/innerItem[childId='123']
这是寻找所有带有元素childId的innerItem,其值为“123”作为直接子项和 容器为“祖父母”。