使用XmlDocument将XML转换为有效的HTML

时间:2017-04-20 18:24:12

标签: c# xml xslt

我有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”。

我发现了许多相关问题并接受了答案,但我不明白为什么我仍然会自动关闭标签。

0 个答案:

没有答案