我需要写“D;”相当于 xml 的元音变音字符。
例如,如果字符串为“für”,则预期输出为“für
”,ü
相当于 ü
这是我目前拥有的代码:
private bool WriteOutXMLFile(string xsltFileName, XsltArgumentList argsList, string outputFile)
{
XslCompiledTransform transform = new XslCompiledTransform(true);
transform.Load(xsltFileName);
using(StreamWriter sw = new StreamWriter(outputFile,false,Encoding.UTF8))
{
transform.Transform(this.InputFilePath, argsList, sw);
}
return true;
}
这是 XSLT:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<xsl:output method="xml" />
<xsl:param name="InsideSales1"></xsl:param>
<xsl:param name="InsideSales2"></xsl:param>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!--Project output nodes-->
<!--Calculation Number-->
<xsl:template match="kalkulationsnummer" >
<xsl:element name="kalkulationsnummer">
<xsl:value-of select="$CalculationNumber" />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
出于空间考虑,我删除了很多参数。
有人可以帮忙吗?
问候。
大家好, 我用过 System.Web.HttpUtility.HtmlEncode 方法在将元音变音字符添加到 argsList 时获取所需的值。这是一种更快的处理方式,但它可能不起作用,因为它没有根据我的要求进行测试。 更好的方法是使用本文中建议的字节数组。 感谢所有回复的人。
最佳答案
只需使用:
<xsl:output encoding="us-ascii"/>
在您的 C# 代码中尝试:
using(StreamWriter sw = new StreamWriter(outputFile,false,Encoding.ASCII))
关于c# - 在 XML 中写出元音变音字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11469049/