【发布时间】:2013-05-15 10:10:01
【问题描述】:
[XmlRoot("Class1")]
class Class1
{
[(XmlElement("Product")]
public string Product{get;set;}
[(XmlElement("Price")]
public string Price{get;set;}
}
这是我的课。在此价格中包含“£”符号。将其序列化为 XML 后,我得到“?”而不是“£”。
我需要做什么才能获得 XML 中的“£”?或者如何将价格数据作为 CDATA 传递?
【问题讨论】:
-
向我们展示序列化代码。
-
其实我有一个其他团队开发的库。我们只使用那个库,我们得到序列化的 XML。除了那个“£”标志,我一切都很好。
-
听起来像是与编码有关 - 输出是用 UTF8 编写的吗?
-
是的,输出是用 UTF8 编码编写的
-
XmlSerializerNamespaces Xsn = new XmlSerializerNamespaces(); Xsn.Add("", ""); XmlSerializer 提交 = 新 XmlSerializer(typeof(T)); StringWriter StringWriter = new StringWriter(); XmlWriter 作家 = XmlWriter.Create(StringWriter); Submit.Serialize(Writer, obj, Xsn); StringWriter.ToString(); // 你的 xml 这是序列化代码。在这个 Obj 中是要序列化的对象
标签: c# xml c#-4.0 xml-parsing xml-serialization