【问题标题】:XQuery and distinct-valuesXQuery 和不同值
【发布时间】:2015-06-17 19:21:04
【问题描述】:

我有这个 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>

我需要获取具有他的属性的名称,按长度排序并且没有重复的名称。即这个xml:

<name type="two">Other</name>
<name type="one">Physics</name>
<name type="two">Language</name>
<name type="one">Philosophy</name>
<name type="one">Mathematics</name>

我有这个代码,但不工作。

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

有人可以帮助我吗?

提前致谢。

【问题讨论】:

    标签: xml xquery distinct-values


    【解决方案1】:

    试试:

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

    【讨论】:

    • 非常感谢
    • StackOverflow 协议不会在评论中回复,而只是通过单击边距中的勾号/复选标记将答案标记为已接受。这对于后来遇到类似问题的人很有用,因此他们知道答案有效。 (它还为回答者提供了声望点,一些 SO 成员似乎非常关心)。
    猜你喜欢
    • 2013-11-13
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    相关资源
    最近更新 更多