使用 XPath 1.0 仅选择不同的值
Selecting only distinct values using XPath 1.0
我如何 return 只有 unique City
值 Name
state = 'Washington'
使用 XPath 1.0?
<StateDataSet>
<State>
<Name>Washington</Name>
<City>Seattle</City>
<business>Starbucks</business>
</State>
<State>
<Name>Washington</Name>
<City>Seattle</City>
<business>Amazon</business>
</State>
<State>
<Name>Washington</Name>
<City>Redmond</City>
<business>Microsoft</business>
</State>
<State>
<Name>Washington</Name>
<City>Redmond</City>
<business>Starbucks</business>
</State>
<State>
<Name>Washington</Name>
<City>Seattle</City>
<business>Dicks</business>
</State>
<State>
<Name>Alaska</Name>
<City>Anchorage</City>
<business>Starbucks</business>
</State>
<State>
<Name>Oregon</Name>
<City>Portland</City>
<business>Starbucks</business>
</State>
<State>
<Name>Alaska</Name>
<City>Gnome</City>
<business>Starbucks</business>
</State>
</StateDataSet>
到目前为止,我已经尝试了以下 XPath 查询:
/StateDataSet/State[Name ='Washington' and not (State[Name='Washington'] = following-sibling::State[Name='Washington'])]/City
这 return 编辑了华盛顿的城市,但值不是唯一的。我使用 xpathtester.com
测试了我的查询
我做错了什么?我的查询基于 get-distinct-values-within-specific-attributes
这个 XPath,
/StateDataSet/State[Name ='Washington' and
not(City = preceding-sibling::State[Name='Washington']/City)]
/City
将 select State
元素中唯一的 City
元素 Name = 'Washington'
:
<City>Seattle</City>
<City>Redmond</City>
根据要求。
我如何 return 只有 unique City
值 Name
state = 'Washington'
使用 XPath 1.0?
<StateDataSet>
<State>
<Name>Washington</Name>
<City>Seattle</City>
<business>Starbucks</business>
</State>
<State>
<Name>Washington</Name>
<City>Seattle</City>
<business>Amazon</business>
</State>
<State>
<Name>Washington</Name>
<City>Redmond</City>
<business>Microsoft</business>
</State>
<State>
<Name>Washington</Name>
<City>Redmond</City>
<business>Starbucks</business>
</State>
<State>
<Name>Washington</Name>
<City>Seattle</City>
<business>Dicks</business>
</State>
<State>
<Name>Alaska</Name>
<City>Anchorage</City>
<business>Starbucks</business>
</State>
<State>
<Name>Oregon</Name>
<City>Portland</City>
<business>Starbucks</business>
</State>
<State>
<Name>Alaska</Name>
<City>Gnome</City>
<business>Starbucks</business>
</State>
</StateDataSet>
到目前为止,我已经尝试了以下 XPath 查询:
/StateDataSet/State[Name ='Washington' and not (State[Name='Washington'] = following-sibling::State[Name='Washington'])]/City
这 return 编辑了华盛顿的城市,但值不是唯一的。我使用 xpathtester.com
测试了我的查询我做错了什么?我的查询基于 get-distinct-values-within-specific-attributes
这个 XPath,
/StateDataSet/State[Name ='Washington' and
not(City = preceding-sibling::State[Name='Washington']/City)]
/City
将 select State
元素中唯一的 City
元素 Name = 'Washington'
:
<City>Seattle</City>
<City>Redmond</City>
根据要求。