【发布时间】:2015-10-29 11:45:40
【问题描述】:
出于兼容性原因,我想使用 C# XmlWriter 生成与另一个应用程序完全相同的 XML。
但是我无法控制 xml 实体的写入方式:XmlWriter 使用十六进制样式 (€),我想要十进制样式 (€)。
如何使用 XmlWriter 输出十进制样式?
示例代码
XmlWriterSettings writerSettings = new XmlWriterSettings
{
Encoding = Encoding.GetEncoding("iso-8859-1"),
};
using (XmlWriter writer = XmlWriter.Create(stream, writerSettings))
{
writer.WriteElementString("test", "€");
}
输出
<?xml version="1.0" encoding="iso-8859-1"?><test>€</test>
【问题讨论】:
-
其他应用程序写入的 XML 使用什么编码?
-
编码是iso-8859-1
-
但你是说另一个应用程序将输出写为
<?xml version="1.0" encoding="iso-8859-1"?><test>&#8364;</test>? -
有趣的问题:“正常”的变音符号使用 iso-8859-1 编码并且不转换为 XML 实体