加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读