我需要写“&#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 时获取所需的值。这是一种更快的做事方式,但它可能不起作用,因为它没有针对我的要求进行测试。更好的方法是使用本文中建议的字节数组。感谢所有回复的人。