在多个返回值之间添加逗号

发布于 2024-11-02 11:58:20 字数 1008 浏览 5 评论 0原文

我得到一个 XML,如下所示:

<Student>
    <SSN>630-44-3532</SSN>
    <Name>
        <firstName>Ali</firstName>
        <lastName>Daria</lastName>
    </Name>
            ...
    <Email>[email protected]</Email>
    <Email>[email protected]</Email>
</Student>

由于我们有多个节点,当我执行 XQuery 来获取整个电子邮件信息(用逗号分隔)时,我不知道该怎么做。

这是预期的输出:

<email> [email protected], [email protected] </email>

I got an XML which looks like:

<Student>
    <SSN>630-44-3532</SSN>
    <Name>
        <firstName>Ali</firstName>
        <lastName>Daria</lastName>
    </Name>
            ...
    <Email>[email protected]</Email>
    <Email>[email protected]</Email>
</Student>

As we have multiple nodes, when I execute an XQuery to get the email info as a whole, separated by a comma, I don't know what to do.

Here is the expected output:

<email> [email protected], [email protected] </email>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏尔 2024-11-09 11:58:20

使用

/*/Email/concat(.,
                if(not(position()=last()))
                 then ', '
                 else ()
                )

Use:

/*/Email/concat(.,
                if(not(position()=last()))
                 then ', '
                 else ()
                )
铁轨上的流浪者 2024-11-09 11:58:20

使用 XPath 2.0/XQuery 1.0 fn:string- join() 函数。

来自 http://www.w3.org/2005/xpath-functions/ 的简介#字符串连接

字符串连接

fn:string-join($arg1 as xs:string*, $arg2 as xs:string) as xs:string

摘要:返回创建的 xs:string
通过连接成员
$arg1 序列使用 $arg2 作为
分隔符。如果 $arg2 的值为
零长度字符串,然后
$arg1 的成员被连接起来
没有分隔符。

Use XPath 2.0/XQuery 1.0 fn:string-join() function.

Brief from http://www.w3.org/2005/xpath-functions/#string-join

string-join

fn:string-join($arg1 as xs:string*, $arg2 as xs:string) as xs:string

Summary: Returns a xs:string created
by concatenating the members of the
$arg1 sequence using $arg2 as a
separator. If the value of $arg2 is
the zero-length string, then the
members of $arg1 are concatenated
without a separator.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文