Ant*_*ine 45 xml xpath distinct
我有这个XML文件,我想从中计算它中引用的用户数.但它们可以出现在多个类别中,我希望这些重复项不被考虑在内.
在下面的示例中,查询应该返回3而不是4.在XPath中是否有办法这样做?用户根本没有排序.
<list>
<group name='QA'>
<user name='name1'>name1@email</user>
<user name='name2'>name2@email</user>
</group>
<group name='DEV'>
<user name='name3'>name3@email</user>
<user name='name2'>name2@email</user>
</group>
</list>
Run Code Online (Sandbox Code Playgroud)
gin*_*boy 21
使用函数名称空间http://www.w3.org/2005/xpath-functions可以使用
distinct-values(//list/group/user)
Run Code Online (Sandbox Code Playgroud)
更新:
在xsl/xslt文件的顶部,你应该有一个样式表元素,将上面的url映射到前缀fn,如下所示......
<xsl:stylesheet version="1.0"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
>
Run Code Online (Sandbox Code Playgroud)
然后你可以使用
select="fn:distinct-values(//list/group/user)"
Run Code Online (Sandbox Code Playgroud)
这假设你是在模板中而不是在某些xpathdocument对象中执行此操作,在这种情况下,您需要使用namespacemanager类.
链接...
http://www.xqueryfunctions.com/xq/fn_distinct-values.html
http://msdn.microsoft.com/en-us/library/d6730bwt(VS.80).aspx
否则试试Dimitre Novatchev的回答.
| 归档时间: |
|
| 查看次数: |
46102 次 |
| 最近记录: |