我有一个XML文件,我必须为其构建XSL,以便我的ETL作业可以处理它。这就是我需要的。
输入XML
<FS_Sub_Investment_Team>
<Report Name="REPORT">
<MeetTheTeamTableHeading Label="TEAM" />
<MeetTheTeamTable>
<Rows>
<Row ManagerData="ABC EFGHI XYZ" />
<Row ManagerData="ABC PQRST XYZ" />
</Rows>
</MeetTheTeamTable>
<MeetTheTeamNote></MeetTheTeamNote>
</Report>
</FS_Sub_Investment_Team>
当前XSL:
<xsl:template match="/">
<Bio>
<BioText>
<xsl:apply-templates select="//Row/@ManagerData" mode="concat"/>
</BioText>
</Bio>
</xsl:template>
当前输出:
<Bio><BioText>ABC EFGHI XYZABC PQRST XYZ</Bio></BioText>
我的预期输出是:在两个元素值之间有空格的换行符(或),请给我两个解决方案。
<Bio><BioText>ABC EFGHI XYZ
ABC PQRST XYZ</Bio></BioText>
答案 0 :(得分:0)
尝试:
<xsl:template match="/">
<Bio>
<BioText>
<xsl:for-each select="//Row">
<xsl:value-of select="@ManagerData" />
<xsl:if test="position()!=last()">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</BioText>
</Bio>
</xsl:template>
要插入空格而不是新行,请使用:
<xsl:text> </xsl:text>
而不是:
<xsl:text> </xsl:text>