我也试着在xsl中手动追加,如:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:text disable-output-escaping="yes"><?xml version="1.0" encoding="utf-8"?></xsl:text>
……
并且尝试disable-output-escaping的不同值yes or no。但是在转换的文件中都是输出<?xml version="1.0" encoding="utf-8"?>,造成xml格式不正确。还有其他追加方法吗?
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:text disable-output-escaping="yes"><?xml version="1.0" encoding="utf-8"?></xsl:text>
……
并且尝试disable-output-escaping的不同值yes or no。但是在转换的文件中都是输出<?xml version="1.0" encoding="utf-8"?>,造成xml格式不正确。还有其他追加方法吗?
改成:<xsl:output method="xml" encoding="utf-8" indent="yes" />试下。没时间,就不帮你测了。
这是fcuandy的文章.
SQLServer2005 XML在T-SQL查询中的典型应用
http://topic.csdn.net/u/20081107/17/68aaf5a9-c596-4ab5-ae18-f3370b2ab35b.html
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/> <xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>