gpt4 book ai didi

c# - XslCompiledTransform 吃掉了我的 DOCTYPE

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

<DOCTYPE> 制作了一个带有输出指令的 xslt 模板:

<xsl:output media-type="text/html" method="html" encoding="windows-1251" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" omit-xml-declaration="yes"/>

在 xsl-debug 中我接收正确

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

在 html 之上。

但是当我使用 XslCompiledTransform 等时..输出开始于

<html xmlns="http://www.w3.org/1999/xhtml">

因此,缺少 DOCTYPE。为什么? XslCompiledTransform 的权利属性就像我在 <xsl:output> 中设置的一样初始化.

代码:

using (var sw = new StringWriter())
{
XslCompiledTransform xslt = new XslCompiledTransform();
XmlEmbeddedResourceResolver resolver = new XmlEmbeddedResourceResolver();
xslt.Load("clires://DLLPATH/xsl/blank.xsl", XsltSettings.TrustedXslt, resolver);
XmlWriterSettings set = new XmlWriterSettings();
set.ConformanceLevel = ConformanceLevel.Auto;
xslt.Transform(ticket, XmlWriter.Create(sw, set));
return sw.ToString();
}

如何从 XslCompiledTransform 获取 DOCTYPE?

最佳答案

您需要使用 OutputSettings 中的 XmlWriterSettings XslCompiledTransform

中的属性
XmlWriterSettings set = xslt.OutputSettings;

关于c# - XslCompiledTransform 吃掉了我的 DOCTYPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4549792/

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