我用这个代码来转换XML使用XSLT模板HTML:为什么XslCompiledTransform将META标签添加到HTML输出中?
string uri = Server.MapPath("~/template.xslt");
XslCompiledTransform xsl = new XslCompiledTransform();
xsl.Load(uri);
XDocument xml = new XDocument(new XElement("Root"));
StringBuilder builder = new StringBuilder();
XmlReader reader = xml.CreateReader();
XmlWriter writer = XmlWriter.Create(builder, xsl.OutputSettings);
xsl.Transform(reader, writer);
writer.Close();
我的模板看起来是这样的:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes" />
<xsl:template match="Root">
<html>
<head>...
输出是正确的但是它包含META标签。如何禁用变换,使其不会生成META标签?
+1更快的答案。 [HTML兼容性指南](http://www.w3.org/TR/xhtml1/#guidelines) – 2010-12-10 13:11:03
使用“xml”序列化方法输出XHTML文档是可行的。Meta是一个问题,因为在html输出中没有结束标签。我猜想XHTML将标签正确关闭。 – jlp 2010-12-13 15:11:41