我有XML和XSL我想转换为有效的HTML。源和目标是XmlDocuments。
我有这段代码:
public static XmlDocument XslTransformation(XslCompiledTransform xslt, XmlDocument input)
{
XmlDocument target = new XmlDocument();
using (var writer = XmlWriter.Create(target.CreateNavigator().AppendChild(), xslt.OutputSettings))
{
xslt.Transform(input, writer);
}
return target;
}
在XSL中我们设置输出方法:
<xsl:output method="html" version="1.0" encoding="iso-8859-1" indent="yes" omit-xml-declaration="no"/>
但结果不是有效的HTML。例如
<script src="blah.js"></script>
转换为
<script src="blah.js" />
我检查了XSLT OutputSettings的OutputMethod并将其设置为“Html”。
我发现了许多相关问题并接受了答案,但我不明白为什么我仍然会自动关闭标签。