-2
嗨,我有一个XML文件,并试图使用xslt转换它。但问题是我在输出之前得到一条白线,我该如何消除它。 下面是我的XML在csv输出文件中使用xslt的空行
<?xml version="1.0" encoding="UTF-8"?>
<UserInfo xmlns="http://XXXXXX">
<User>
<UserName>MNO</UserName>
<Userid>1234</Userid>
<address>xyz</address>
<city>ABC</city>
<state>XX</state>
<zip>000000</zip>
</User>
<User>
<UserName>DEF</UserName>
<Userid>4567</Userid>
<address>IJK</address>
<city>GHI</city>
<state>XX</state>
<zip>000000</zip>
</User>
</UserInfo>
下面是我的XSL
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" >
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<xsl:template match="/">
UserName,Userid,address,city,state,zip
<xsl:for-each select="//User">
<xsl:value-of select="concat(UserName,',',Userid,',',address,',',city,',',state,',',zip,'
')"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
当过我运行上面的我,然后再输出得到一条白线。
vendorName,vendorId,vendorTaxId,addressLine1,addressLine2,city,state,zip
MNO,1234,xyz,ABC,XX,000000
DEF,4567,IJK,GHI,XX,000000
我得到的节点之上的白色空间(用户名,用户ID等)
还告诉OP有关必须在他的'xsl:for-each/@ select'中解释的默认命名空间。 – kjhughes
我做了同样的事情,但它没有奏效。它首先输出一个空行然后是数据 –
@ rockstar_77你可以在这里看到它的工作:http://xsltransform.net/ej9EGdm - 请注意,我已经删除了默认名称空间声明从你的输入。正如上面kjhughes所指出的那样,您不能使用您的代码收到声明的输出。 –