Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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 XQuery和不同的值_Xml_Xquery_Distinct Values - Fatal编程技术网

Xml XQuery和不同的值

Xml XQuery和不同的值,xml,xquery,distinct-values,Xml,Xquery,Distinct Values,我有以下XML: <university> <departaments> <departament sl="AA"> <subject>Numbers</subject> <categories> <categorie> <name type="one">Mathematics</name>

我有以下XML:

<university>
<departaments>
    <departament sl="AA">
        <subject>Numbers</subject>
        <categories>
            <categorie>
                <name type="one">Mathematics</name>
            </categorie>
            <categorie>
                <name type="one">Physics</name>
            </categorie>
            <categorie>
                <name type="two">Other</name>
            </categorie>
        </categories>
    </departament>
    <departament sl="BB">
        <subject>Letters</subject>
        <categories>
            <categorie>
                <name type="one">Philosophy</name>
            </categorie>
            <categorie>
                <name type="two">Language</name>
            </categorie>
            <categorie>
                <name type="two">Other</name>
            </categorie>
        </categories>
    </departament>
</departaments>
</university>
有人能帮我吗

提前感谢。

试试:

for $name in distinct-values(doc("uni.xml")//categorie/name)
order by string-length($name)
return (doc("uni.xml")//categorie/name[.=$name])[1]

非常非常感谢StackOverflow协议不是在评论中回复,而是通过单击页边空白处的勾号/复选标记将答案标记为已接受。这对后来提出类似问题的人很有用,因此他们知道答案是有效的。这也给了回答者一个声誉点,这一点有些成员似乎非常关心。
for $name in distinct-values(doc ("uni.xml")//categorie/name)
order by string-length($name)
return $name
for $name in distinct-values(doc("uni.xml")//categorie/name)
order by string-length($name)
return (doc("uni.xml")//categorie/name[.=$name])[1]