使用C#进行xslt转换忽略xsl:output
发布时间:2020-12-15 21:11:21 所属栏目:百科 来源:网络整理
导读:我正在我的c#程序中进行xslt转换.当我自己运行xslt时它输出就好了,但是当我从我的c#程序中运行它时它总是离开: ?xml version="1.0" encoding="UTF-8"? 在生成的xml文档的顶部.我的XSLT文件如下所示: ?xml version="1.0" encoding="utf-8"?xsl:stylesheet v
我正在我的c#程序中进行xslt转换.当我自己运行xslt时它输出就好了,但是当我从我的c#程序中运行它时它总是离开:
<?xml version="1.0" encoding="UTF-8"?> 在生成的xml文档的顶部.我的XSLT文件如下所示: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:hd="http://www.hotdocs.com/schemas/component_library/2009" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace"> <xsl:output method="xml" omit-xml-declaration="no" version="1.0" encoding="UTF-8"/> <xsl:template match="/xsd:schema"> <hd:componentLibrary xmlns:hd="something" version="10"> </hd:componentLibrary> </xsl:template> <xsl:template match="text()" /> </xsl:stylesheet> 我在我的c#程序中运行xslt,如下所示: XPathDocument myXPathDoc = new XPathDocument(PathToXMLDocument); XslCompiledTransform myXslTrans = new XslCompiledTransform(); myXslTrans.Load(PathToXSLTDocument); XmlTextWriter myWriter = new XmlTextWriter(PathToOutputLocation,null); myXslTrans.Transform(myXPathDoc,null,myWriter); myWriter.Close(); 我已经尝试了没有xsl:output行的xslt文件,但这似乎没有帮助. 如何在输出的xml文件的顶部获取?xml标记? 谢谢 解决方法
XmlTextWriter有点过时了.我建议你切换到
XmlWriter.Create.
然后,您可以在XmlWriterSettings中指定OmitXmlDeclaration = false. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |