c# - 在 XML 中写出元音变音字符?

标签 c# .net xslt utf-8

我需要写“&#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/

相关文章:

c# - 对未知列使用特定的 DataTemplate

.net - 如何为最终将与 Web 应用程序共享代码的 .NET 客户端应用程序确定正确的设计模式?

java - 在 JEditorPane 中显示带有样式表的 XML

c# - 如何在特定条件下隐藏 UWP 弹出窗口

c# - 数据表行删除问题

c# - 如何从 float 复制一个值? float ,如果 float 则置零?一片空白?

c# - 在数据库上创建程序集时部署 SQL CLR 项目失败

.net - WCF 绑定(bind) - 太多了!我该如何选择?

html - 从 XML 结构中的纯文本创建 HTML 列表

xslt 匹配特定节点之前的所有节点