我有这样的XML:
<PROGRAM>
<date>10/07/2014</date>
<name>Name</name>
<LOTS>
<LOT>
<ID>1</ID>
<type>A</type>
</LOT>
<LOT>
<ID>2</ID>
<type>B</type>
</LOT>
</PROGRAM>
我想从转换(XSLT)结果中得到这个结果:
10/07 / 2014,姓名,1,A
10月7日/ 2014,名称,2,B
这是我的xslt:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="text"/>
<xsl:variable name='newline'>
<xsl:text></xsl:text>
</xsl:variable>
<xsl:template match="/">
<xsl:for-each select="//LOT">
<xsl:for-each select="//PROGRAM">
<xsl:value-of select="concat(date,',',name)"/>
</xsl:for-each>
<xsl:value-of select="concat(',',ID,',',type,$newline)"/>
</xsl:for-each>
</xsl:template>
有没有人知道实现这个的XSLT?
谢谢!
答案 0 :(得分:0)
更简单的事情:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:for-each select="PROGRAM/LOTS/LOT">
<xsl:value-of select="concat(../../date, ',', ../../name, ',', ID, ',', type)"/>
<xsl:if test="position()!=last()">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>