我想从以下位置更改代码:
字符串路径[email protected]“c:\Directory\test.xml”;
XmlSerializer s=新的XmlSerializer(typeof(Car));
TextReader r=新的StreamReader(路径);
Car=(Car)s.反序列化(r);
r、 Close();
将XML转换为字符串,然后将字符串转换为对象
这可能吗
公共静态字符串XmlSerializeToString(此对象objectInstance)
{
var serializer=新的XmlSerializer(objectInstance.GetType());
var sb=新的StringBuilder();
使用(TextWriter=新StringWriter(sb))
{
serializer.Serialize(writer,objectInstance);
}
使某人返回字符串();
}
公共静态XmlDeserializeFromString<;T>;(此字符串为objectData)
{
返回(T)XmlDeserializeFromString(objectData,typeof(T));
}
公共静态对象XmlDeserializeFromString(此字符串为objectData,类型为)
{
var serializer=新的XmlSerializer(类型);
客观结果;
使用(TextReader=new StringReader(objectData))
{
结果=序列化程序。反序列化(读取器);
}
返回结果;
}
要使用它:
//生成XML
var settings=新的ObjectCustomerSettings();
var xmlString=settings.XmlSerializeToString();
//制造对象
var settings=xmlString.XmlDeserializeFromString<;ObjectCustomerSettings>;();