XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(xslPath);
XmlReaderSettings setting = new XmlReaderSettings();
setting.ProhibitDtd = false;
XmlReader reader = XmlReader.Create(xmlPath,setting);
XmlWriter writer = XmlWriter.Create(savePath);
transform.Transform(reader,writer);用上面的方法将XML文件通过XSLT转成HTML,但是发现转出来的HTML文件是这样的:
<?xml version="1.0" encoding="utf-8"?>
<HTML>
……
</HTML>第一行包含了一个<?xml version="1.0" encoding="utf-8"?>,
请问怎么样能把这个东西去掉?
有什么好方法?
谢谢

解决方案 »

  1.   

    应该是楼主xslt编写的原因,建议楼主贴出xslt源码。
      

  2.   


    XmlWriter writer = XmlWriter.Create();
    改为
     XmlTextWriter writer = new XmlTextWriter(savePath,System.Text.Encoding.UTF8);
      

  3.   

    准备接分了,因为这个问题很简单,是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="html"></xsl:output>  //加上这一句就行了。
      

  4.   

    可以修改的XSL文件。
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" >
      <xsl:output omit-xml-declaration="yes" method="html" version="1.0" />