【发布时间】:2013-09-16 22:27:46
【问题描述】:
我有一个具有数据类型 DayOfWeek 的属性的类,我需要将其序列化为 XML,当我对其进行序列化时,DayOfWeek 按其名称进行序列化,例如“星期一”等。我需要它的相关值 这是我的班级:
public class myClass
{
[XmlAttribute("DayOfWeek")]
public DayOfWeek myDay;
}
这是序列化字符串:
<myClass DayOfWeek="Monday" />
<myClass DayOfWeek="Friday" />
我想要的格式应该是这样的:
<myClass DayOfWeek="1" />
<myClass DayOfWeek="5" />
我无法使用 get 和 set。我认为应该有这样做的属性。 感谢您的帮助。 :)
这是我的序列化方法
public static SqlXml Serialize<T>(T dataObject, string defaultNamespace = DefaultNamespace)
{
var xmlSerializer = new XmlSerializer(typeof(T), defaultNamespace);
var wr = new StringWriter();
var settings = new XmlWriterSettings { OmitXmlDeclaration = true, Indent = true, Encoding = Encoding.UTF8 };
using (var responseWriter = XmlWriter.Create(wr, settings))
{
if (responseWriter != null)
xmlSerializer.Serialize(responseWriter, dataObject);
}
using (var xmlReader = XmlReader.Create(new StringReader(wr.ToString())))
{
return new SqlXml(xmlReader);
}
}
此方法运行正常,没有任何问题。
【问题讨论】:
-
Here is my Class:您的课程不可编译。 -
您很可能使用 XmlSerializer,但为什么不包含有关如何序列化它的代码?
-
是的,我正在使用 XmlSerializer。我正在编辑帖子。
标签: c# xml visual-studio serialization dayofweek