Xml Xpath-删除重复和排序的不同列表
我正在使用Excel FILTERXML函数返回一个不同的列表 公式是:Xml Xpath-删除重复和排序的不同列表,xml,xpath,Xml,Xpath,我正在使用Excel FILTERXML函数返回一个不同的列表 公式是: =FILTERXML(StudentList,"//b[not(preceding::*=.)]") 我为xml xml如下所示: <a> <b>Sam</b> <b>Tim</b> <b>Max</b> <b>Ronny</b> <b>Rhea</b> <b>Sam
=FILTERXML(StudentList,"//b[not(preceding::*=.)]")
我为xml
xml
如下所示:
<a>
<b>Sam</b>
<b>Tim</b>
<b>Max</b>
<b>Ronny</b>
<b>Rhea</b>
<b>Sam</b>
<b>Tim</b>
<b>Joan</b>
<b>Peter</b>
<b>Eric</b>
<b>Ronny</b>
<b>Sam</b>
<b>Julie</b>
<b>Max</b>
</a>
公式未排序结果为:
{"Sam";"Tim";"Max";"Ronny";"Rhea";"Joan";"Peter";"Eric";"Julie"}
我想要的是排序结果,目标是:
{"Eric";"Joan";"Julie";"Max";"Peter";"Rhea";"Ronny";"Sam";"Tim"}
如何修改Xpath以满足我的目标
如果您能提供任何指导,我们将不胜感激。我认为您可以通过在oustide上使用Excel排序功能来实现这一点
=SORT(FILTERXML(StudentList,"//b[not(preceding::*=.)]"))
您在什么环境/编程语言中使用XPath?请显示生成所显示结果的代码。谢谢提示答案:XPath不是正确的排序工具。使用您的宿主编程语言。@Mathias Müller,我使用的是Excel公式,公式是:在名为“StudentList”的名称中定义xml的名称,然后输入公式:=FILTERXML(StudentList,//b[not(前面:*=)]),它将返回一个未排序的删除重复列表,如:{“Sam”;“Tim”;“Max”;“Ronny”;“Rhea”;“Joan”;“Peter”;“Eric”;“Julie},但我想要一份分类清单。Thanks@MathiasMüller,实际上XPATH可以对数值进行排序,但我正在寻找一种使用XPATH对文本值进行排序的方法。感谢您思考如何实现您的目标,而不是如何使用可能不是最合适的特定工具实现目标。Excel可以对结果进行排序吗?@bosco_yip XPath 1.0无法排序。此外,分组(重复数据消除)和排序也可以在Excel中完成
=SORT(FILTERXML(StudentList,"//b[not(preceding::*=.)]"))