Xslt 将XML转换为管道删除CSV
我正在将XML转换为管道删除的CSV。因此,在第一列中,我想把字符串分成两个字符,剩下的应该在同一行的下面。但是,这里我得到了下一行第一行的剩余字符串。但是我想得到相同的excel单元格 我使用了Xslt 将XML转换为管道删除CSV,xslt,xslt-2.0,Xslt,Xslt 2.0,我正在将XML转换为管道删除的CSV。因此,在第一列中,我想把字符串分成两个字符,剩下的应该在同一行的下面。但是,这里我得到了下一行第一行的剩余字符串。但是我想得到相同的excel单元格 我使用了和#10 请找到下面的截图 以上屏幕截图13的值应在12以下 下面是示例XML: <Family> <Parent> <Boy> <name>Ram</name> <Age>05</A
和#10代码>
请找到下面的截图
以上屏幕截图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>
预期产出:
请参考下面的屏幕截图了解预期输出
说明:
我想在CSV文件中有每个家长的孩子的名字。因此,如果家长有一个男孩和一个女孩,我们将在一行中用管道分隔符分隔孩子的名字
但是第一个父母有两个女儿,所以我希望Sita和Pooja在CSV文件的同一个单元格中,一个在另一个的下面。但是现在我们一个接一个地收到了
谢谢如果您希望它出现在第二列,那么您需要为第一列提供一些值。请编辑问题并共享XML和XSLT。请检查上面的XML和XSLT。谢谢,您可能需要再使用一个分隔符来分隔具有相同性别的儿童的值。因此,男孩和女孩将被|
分隔,只有男孩或女孩将被新的分隔符分隔。在XLS中导入此文件时,您必须处理这两个分隔符,以根据要求显示数据。即使我们为同性别的孩子使用其他分隔符,也不会在同一excel单元格中获得一个低于另一个的名称。我希望在同一单元格中输入值的方式与在excel单元格中使用alt+enter输入两个值的方式相同。我认为CSV导入excel不会直接满足您的要求。在Excel中打开CSV时,您可能需要在其间进行一些编程。XSLT将有助于使用多个分隔符创建CSV,但是在CSV中不可能使用类似于Alt+Enter
的内容。
<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|