使用C#进行xslt转换忽略xsl:output

使用C#进行xslt转换忽略xsl:output,第1张

概述我正在我的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" 我正在我的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.

总结

以上是内存溢出为你收集整理的使用C#进行xslt转换忽略xsl:output全部内容,希望文章能够帮你解决使用C#进行xslt转换忽略xsl:output所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存