Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml Xpath-删除重复和排序的不同列表_Xml_Xpath - Fatal编程技术网

Xml Xpath-删除重复和排序的不同列表

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

我正在使用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</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::*=.)]"))