【问题标题】:Concatenate data into one variable将数据连接到一个变量中
【发布时间】:2011-03-13 13:53:17
【问题描述】:

一个 XML 文件包含如下数据:

<AddtlStsRsnInf>/00000002/Level 2 Reject</AddtlStsRsnInf> 
<AddtlStsRsnInf>The Transaction Reference Number is</AddtlStsRsnInf> 
<AddtlStsRsnInf>not unique.</AddtlStsRsnInf>  

如何将所有三个标签中的数据连接到一个变量中?

感谢和问候,

基兰

【问题讨论】:

    标签: xslt transformation


    【解决方案1】:

    这可能会有所帮助:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <xsl:template name="concat" match="/data">
      <xsl:for-each select="AddtlStsRsnInf">
        <xsl:value-of select="." />
        <xsl:if test="position() != last()">
          <xsl:text> </xsl:text>
        </xsl:if>
      </xsl:for-each>
    </xsl:template> 
    
    </xsl:stylesheet>
    

    给定:

    <?xml version="1.0"?>
    <data>
    <AddtlStsRsnInf>/00000002/Level 2 Reject</AddtlStsRsnInf> 
    <AddtlStsRsnInf>The Transaction Reference Number is</AddtlStsRsnInf> 
    <AddtlStsRsnInf>not unique.</AddtlStsRsnInf>  
    </data>
    

    您可以使用以下方法将其包装在变量 (v) 中:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <xsl:template name="concat" match="/data">
      <xsl:variable name="v">
        <xsl:for-each select="AddtlStsRsnInf">
          <xsl:value-of select="." />
          <xsl:if test="position() != last()">
            <xsl:text> </xsl:text>
          </xsl:if>
        </xsl:for-each>
      </xsl:variable>
    
      <xsl:value-of select="$v" />
    </xsl:template> 
    
    </xsl:stylesheet>
    

    【讨论】:

      【解决方案2】:

      我想你会使用类似的东西:

      <xsl:variable name="myVar" select="fn:string-join(//AddtlStsRsnInf/text(), ' ')" />
      

      如果您只想选择一些 AddtlStsRsnInf 节点,则需要调整 XPath 查询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-29
        • 2021-12-29
        • 1970-01-01
        • 1970-01-01
        • 2012-08-03
        相关资源
        最近更新 更多