XML-XSLT-XPATH:如何将多个XML元素转换为字符串,以分号

时间:2015-06-23 05:29:21

标签: xml xslt xpath xslt-2.0

我刚刚将我的问题作为输入和输出格式演示如下。 我有一个输入为xml文档,其中包含以下数据

    <Users>
          <user>
             <name>Mark Curtain</name>
             <email>mark@gmail.com</email>
             <username>mark</username>
          </user>
          <user>
             <name>Zuke Gossip</name>
             <email>zuke@abc.com</email>
             <username>zuke</username>
          </user>
          <user>
            <name>Villan Kiosk</name>
            <email>kv@gmail.com</email>
            <username>kvk</username>
         </user>
  </Users>

我想在一个字符串中获取用户名和名称,该字符串应以分号(;)分隔。

例如: UserNames:&#34; mark; zuke; kvk&#34;

同样名称也姓名:&#34; Mark Curtain; Zuke Gossip; Villan Kiosk&#34;

是否有任何Xpath函数可以实现相同的功能? 在XSL转换中是否有任何方法可以将字符串作为输出?

1 个答案:

答案 0 :(得分:1)

你可以使用类似的东西:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="2.0">

    <xsl:output method="text"/>

    <xsl:template match="/">
        <xsl:text>UserNames: &quot;</xsl:text>
        <xsl:value-of select="/Users/user/username" separator=";"/>
        <xsl:text>&quot;&#xA;</xsl:text>
        <xsl:text>Names: &quot;</xsl:text>
        <xsl:value-of select="/Users/user/name" separator=";"/>
        <xsl:text>&quot;</xsl:text>
    </xsl:template>

</xsl:stylesheet>