xslt转换:创建文本文件

xslt转换:创建文本文件,xslt,Xslt,下面是xml <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://xyz.com.zr/l8q/12Q/service/"> <soapenv:Header> <ser:User>

下面是xml

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ser="http://xyz.com.zr/l8q/12Q/service/">
    <soapenv:Header>
        <ser:User>
            <!-- comment -->
            <Username/>
            <password/>
        </ser:User>
    </soapenv:Header>
    <soapenv:Body>
        <mainTag>
            <abc>1596056</abc>
            <asd>12434F</asd>
            <def>wert</def>
            <childtag>
                <asdf>1233</asdf>
                <qwe>567</qwe>
            </childtag>
        </mainTag>
    </soapenv:Body>
</soapenv:Envelope>

下面是包含xslt输出数据的文本文件


我一直在思考如何删除文件中的空格(上面的屏幕截图中提到的屏幕截图)

从输出中删除空白的一种方法是从样式表中删除它们。而不是:

    <xsl:template match="mainTag">
        <xsl:result-document href="foo.txt" method="text">
            01|<xsl:value-of select="abc"/>|<xsl:value-of select="asd"/>|<xsl:value-of select="childtag/asdf"/>|
            02|<xsl:value-of select="def"/>|<xsl:value-of select="childtag/asdf"/>|
            03|<xsl:value-of select="def"/>|<xsl:value-of select="childtag/qwe"/>|<xsl:value-of select="childtag/asdf"/>| | 
        </xsl:result-document>
    </xsl:template>

感谢您向我们展示您的内容。现在,您的问题是什么?我想将xslt结果输出写入到一个目录中您使用的处理器是什么?Saxon或xsltproc在命令行接收输入和输出文件路径作为参数。此外,任何通用语言(C#、Java、PHP、Python)都可以将转换后的结果保存到文件中。请务必指定XSLTPROC,您可以考虑编辑它的问题,需要帮助删除XSLT输出的文件中的空白。
    <xsl:template match="mainTag">
        <xsl:result-document href="foo.txt" method="text">
            01|<xsl:value-of select="abc"/>|<xsl:value-of select="asd"/>|<xsl:value-of select="childtag/asdf"/>|
            02|<xsl:value-of select="def"/>|<xsl:value-of select="childtag/asdf"/>|
            03|<xsl:value-of select="def"/>|<xsl:value-of select="childtag/qwe"/>|<xsl:value-of select="childtag/asdf"/>| | 
        </xsl:result-document>
    </xsl:template>
<xsl:template match="mainTag">
<xsl:result-document href="foo.txt" method="text">01|<xsl:value-of select="abc"/>|<xsl:value-of select="asd"/>|<xsl:value-of select="childtag/asdf"/>|
02|<xsl:value-of select="def"/>|<xsl:value-of select="childtag/asdf"/>|
03|<xsl:value-of select="def"/>|<xsl:value-of select="childtag/qwe"/>|<xsl:value-of select="childtag/asdf"/>| |</xsl:result-document>
</xsl:template>
<xsl:strip-space elements="*"/>
<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:strip-space elements="*"/>

<xsl:template match="mainTag">
    <xsl:result-document href="foo.txt" method="text">
        <xsl:text>01|</xsl:text>
        <xsl:value-of select="abc"/>
        <xsl:text>|</xsl:text>
        <xsl:value-of select="asd"/>
        <xsl:text>|</xsl:text>
        <xsl:value-of select="childtag/asdf"/>
        <xsl:text>|&#10;02|</xsl:text>
        <xsl:value-of select="def"/>
        <xsl:text>|</xsl:text>
        <xsl:value-of select="childtag/asdf"/>
        <xsl:text>|&#10;03|</xsl:text>
        <xsl:value-of select="def"/>
        <xsl:text>|</xsl:text>
        <xsl:value-of select="childtag/qwe"/>
        <xsl:text>|</xsl:text>
        <xsl:value-of select="childtag/asdf"/>
        <xsl:text>| |</xsl:text>
    </xsl:result-document>
</xsl:template>

</xsl:stylesheet>