我正在将XML转换为Pipe delimeted CSV。因此,第一列值我想将字符串拆分为2个字符,剩下的应该在同一行的下面。但是,在这里,我将在第一行的下一行获得剩余的字符串。但我想进入相同的excel单元格
我使用<xsl:text> </xsl:text>
请在下面找到截图。
以上屏幕截图13的值应低于12。
以下是XML示例:
<Family>
<Parent>
<Boy>
<name>Ram</name>
<Age>05</Age>
</Boy>
<Girl>
<name>Sita</name>
<Age>06</Age>
</Girl>
<Girl>
<name>Pooja</name>
<Age>15</Age>
</Girl>
</Parent>
<Parent>
<Boy>
<name>Ramesh</name>
<Age>10</Age>
</Boy>
<Girl>
<name>Geeta</name>
<Age>26</Age>
</Girl>
</Parent>
</Family>
以下是使用的XSLT:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="Family">
<xsl:for-each select="Parent">
<xsl:for-each select="Boy">
<xsl:if test="name!=''">
<xsl:value-of select="name"/>
</xsl:if>
</xsl:for-each>|<xsl:for-each select="Girl">
<xsl:if test="name!=''">
<xsl:value-of select="name"/>
</xsl:if>
</xsl:for-each>|<xsl:value-of select="' '" disable-output-escaping="yes"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
观察输出:
Ram|SitaPooja|
Ramesh|Geeta|
预期产出: 请参阅以下屏幕截图以获取预期输出 enter image description here
说明: 我希望CSV文件中的每个父项的子项名称。因此,如果父母有一个男孩和一个女孩,我们将在一行中用管道分隔符分隔孩子的名字。
但是第一个家长有两个女孩,所以我希望Sita和Pooja应该在CSV文件的同一个单元格中低于另一个。但目前我们正在接受另一个。
由于
答案 0 :(得分:0)
如果你希望它在第二列上,那么你需要为第一列提供一些值。