Xslt 将XML转换为管道删除CSV

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

我正在将XML转换为管道删除的CSV。因此,在第一列中,我想把字符串分成两个字符,剩下的应该在同一行的下面。但是,这里我得到了下一行第一行的剩余字符串。但是我想得到相同的excel单元格

我使用了
和#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="'&#13;&#10;'" disable-output-escaping="yes"/>
    </xsl:for-each>
</xsl:template>
</xsl:stylesheet> 
Ram|SitaPooja|
Ramesh|Geeta|