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"?>,
请问怎么样能把这个东西去掉?
有什么好方法?
谢谢
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"?>,
请问怎么样能把这个东西去掉?
有什么好方法?
谢谢
XmlWriter writer = XmlWriter.Create();
改为
XmlTextWriter writer = new XmlTextWriter(savePath,System.Text.Encoding.UTF8);
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"></xsl:output> //加上这一句就行了。
<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" />