gpt4 book ai didi

c# - 使用 C# 执行忽略 xsl :output 的 xslt 转换

转载 作者:数据小太阳 更新时间:2023-10-29 02:13:21 31 4
gpt4 key购买 nike

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

然后你可以指定OmitXmlDeclaration = 在 XmlWriterSettings 中为假.

关于c# - 使用 C# 执行忽略 xsl :output 的 xslt 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3833113/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com