如何在XML文件中编写ISO代码重音



我想在带有相应ISO代码的XML文本文件中编写拉丁文重音符号。例如,文件中的é替换为é。我的问题是我的第一个&由Xml转义。Linq。结果是CCD_ 3。

internal void SaveCurrentFile(XElement root)
{
var encoding = Encoding.GetEncoding("ISO-8859-1");
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings
{
Indent = true,
OmitXmlDeclaration = false,
Encoding = encoding
};
using (var writer = XmlWriter.Create(GetFolderPath() + "test.xml", xmlWriterSettings))
{
root.Save(writer);
}
}

我在XmlWriterSettings中没有看到任何可以帮助我的选项。

谢谢你的帮助。

数字字符实体引用是Unicode代码点。例如,
&x1f6b2;对于🚲(U+1F6B2)&233;将是é(U+00E9)。数字字符实体引用通常仅在文档编码不支持特定Unicode代码点时使用。XML编写器会为您处理这些问题。

因此,如果你想将é作为数字字符实体发出,你只需要使用不支持它的文档编码。ASCII就是其中之一。但是,它可能是十六进制(é;)而不是十进制(é;)。

最新更新