相当具有讽刺意味的是,这是海报上一个问题的重复。
我想创建一个对象,它包含一些Validate应用程序块属性,如: [序列化] 公共类FormElement:IValidated {
[StringLengthValidator(1, 50, MessageTemplate = "The Name must be between 1 and 50 characters")]
public String username
{
get;
set;
}
[RangeValidator(2007,RangeBoundaryType.Inclusive,6000,RangeBoundaryType.Inclusive,MessageTemplate="input should be in 2007 to 6000")]
public int sequencenumber
{
get;
set;
}
[RegexValidator(@"^\d*\.{0,1}\d+$", MessageTemplate = "input value can not be empty or negative")]
public string medicalvalue
{
get;
set;
}
}
如何将这些属性序列化为xml?感谢
答案 0 :(得分:1)
使用XmlSerializer类:
//Create serializer instance, passing in the type of the class
XmlSerializer serializer =
new XmlSerializer(typeof(FormElement));
// Create a FileStream to write with (could be any other stream)
Stream writer = new FileStream(filename, FileMode.Create);
// Serialize the object, and close the TextWriter
serializer.Serialize(writer, i);
writer.Close();
从我的经验来看,序列化错误是相当清楚的,如果你也要反序列化并且希望处理错误,那么XmlSerializer类有几个用户事件可以连接。
答案 1 :(得分:0)
您希望将类序列化为XML。它不会序列化单个属性或元素。
使用this class来完成您需要的工作,但要使用它。有时很难对反序列化对象时发生的错误进行故障排除。这可能是重要的用户需要更改XML文件(配置等)并且不能正确执行。