c# - 在 C# 中编码 XML

标签 c# encoding

我有一个 xml 文件,里面有像这样的变音符号:

<NameGe>ËÇ</NameGe>

有没有办法读取这个文件并像这样写出来:

<NameGe>&#214;&#231;</NameGe>

所以基本上它应该写变音符号的数字/编码值。

问候。

最佳答案

您可以通过覆盖 XmlTextWriterWriteString 来实现它

MemoryStream m = new MemoryStream();
MyWriter xmlWriter = new MyWriter(m);

XDocument xDoc = XDocument.Parse(xml);
xDoc.Save(xmlWriter);
xmlWriter.Flush();

string s = Encoding.UTF8.GetString(m.ToArray());

-

public class MyWriter : XmlTextWriter
{
    public MyWriter(Stream s) : base(s,Encoding.UTF8)
    {
    }
    public override void WriteString(string text)
    {
        base.WriteRaw(HttpUtility.HtmlEncode(text));
    }
}

关于c# - 在 C# 中编码 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11756403/

相关文章:

python - 为什么发现两个相同的字符串不相等?

c# - 在winforms中获取最大化版本的窗口大小

c# - CGPDFDocument 和 CGPDFPage 的 MonoTouch CoreGraphics PDF 内存问题

java - 使用 Java 更改现有文件的编码?

python - 如何转换阿拉伯语 Unicode

c# - 双重/不完整的参数 Url 编码

c# - FreshMvvm 中的控制反转 (IOC)

c# - 连接字符串到实时数据库 asp.net C#

c# - 无法在 ASP.NET C# 中的下拉列表中获取正确的值

java - 2 字节 UTF-8 序列的无效字节 2