2014-04-16 40 views
1

我想返回唯一項目的列表。在這種情況下,它應該返回 項目1 項目2xpath中使用前面的xpath中的獨特/不同項目

我已經試過事情:

//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

這應該做的工作:

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

這將返回所有「項目」名稱之前沒有通過它的重複。

編輯:我不知道,如果我理解正確你的問題,因爲現在我已經意識到,解決方案也似乎工作...

+0

是,它竟然是網上的XPath測試我用過的工具不起作用。爾加!謝謝! – Patrik