如何在XSLT中连接相同的属性值

时间:2016-01-19 16:36:16

标签: xml xslt xpath

A02

我希望连接元素<N>

的所有Query q = session.createQuery("select t.listOfwhatYouNeed from TSAMMGFSScfHolidayData t"); List<Object[]> yourStringObjects= (List<Object[]>)q.list(); 属性值

预期结果:&#34; HiThisisconcat&#34;

3 个答案:

答案 0 :(得分:2)

在XSLT 2.0中,您可以使用string-join()

<xsl:value-of select="string-join(//N/@A02, '')"/>

返回

HiThisisconcat

按要求。

答案 1 :(得分:2)

作为string-join()的替代方案,您可以使用<xsl:value-of select="//N/@A02" separator=""/>

sbt incremental compilation

  

如果存在separator属性,则为有效值   此属性用于分隔结果中的相邻项   序列...

答案 2 :(得分:1)

XSLT 1.0

<xsl:for-each select="//N/@A02">
    <xsl:value-of select="."/>
</xsl:for-each>

如果您没有任何可以与这些属性匹配的模板,您也可以使用:

<xsl:apply-templates select="//N/@A02"/>

为确保没有其他模板匹配,您可以使用以下模式创建模板:

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

  <xsl:template match="N/@A02" mode="concat">
    <xsl:value-of select="."/>
  </xsl:template>

  <xsl:template match="/">
    <xsl:apply-templates select="//N/@A02" mode="concat"/>   
  </xsl:template>
</xsl:stylesheet>