Jus*_*tin 6 .net xslt code-generation
我正在尝试使用xslt生成一些C#代码 - 它工作得很好,直到我得到泛型并需要输出这样的文本:
MyClass<Type>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我发现发出此信息的唯一方法是执行以下操作:
MyClass<xsl:text disable-output-escaping="yes"><</xsl:text>Type<xsl:text disable-output-escaping="yes">></xsl:text>
Run Code Online (Sandbox Code Playgroud)
哪里:
<xsl:text />,但通常类型Type由其他模板给出,例如:<xsl:value-of select="@type" />
我不介意写<很多东西,但我想避免<xsl:text disable-output-escaping="yes"><</xsl:text>只为一个角色写作!
disable-output-escaping="yes"对整个文档有什么办法吗?
这不起作用的原因完全取决于我正在应用转换 - 我正在使用 XslCompiledTransform 和 XmlWriter 来转换我的 xml,但是根据Microsoft XML Teams 博客,一旦我使用 XmlWriter 编写输出该标签被忽略!
我通过将 XmlWriters 输出设置显式设置为 Xsl 转换的输出设置来修复此问题:
XmlWriterSettings ws = xslt.OutputSettings.Clone();
ws.CheckCharacters = false;
xslt.Transform("MyDocument.xml", XmlWriter.Create(Console.Out, ws));
Run Code Online (Sandbox Code Playgroud)
一旦我这样做了,转换就尊重了我的标签,一切都很好!
| 归档时间: |
|
| 查看次数: |
3475 次 |
| 最近记录: |