xml中使用xpath之前的唯一/不同项

时间:2014-04-16 18:24:29

标签: xml xpath

我想返回一个唯一项目列表。在这种情况下,它应该返回 项目1 项目2

我尝试过这样的事情:

//Item/Group/Name[not(text()=preceding::Item/Group/Name)]/text()
//Item/Group/Name[not(text()=preceding::Item/Group/Name/text())]/text()
//Item/Group[not(Name/text()=preceding::Item/Group/Name/text())]/Name/text()

无法让它发挥作用。

<List>
    <Item>
        <Group>
            <Name>Item 1</Name>
        </Group>
    </Item>
    <Item>
        <Group>
            <Name>Item 1</Name>
        </Group>
    </Item>
    <Item>
        <Group>
            <Name>Item 2</Name>
        </Group>
    </Item>
</List>

1 个答案:

答案 0 :(得分:1)

那应该做的工作:

//List/Item/Group/Name[not(preceding::*/Name/text() = text())]/text()

它将返回所有&#39;项目&#39;名称&#39;没有重复之前。

编辑:我不确定我是否正确理解了您的问题,因为现在我已经意识到您的解决方案似乎也有效...