我知道我可以使用Linq将字段从XML映射到预先存在的对象中的字段..NET Framework(或其他库)中是否有任何函数可以减少手动操作.
我想写(并让HydrateFromXml表现得像AutoMapper一样):
var myObject = new MyObject(/*ctor args*/);
myObject = myObject.HydrateFromXml(string xml);
Run Code Online (Sandbox Code Playgroud)
编辑:
我可以在这里使用装饰器模式或简单的包装器对象吗?直接反序列化为一个由抽象包装的类型,允许我需要的细粒度构造控制?
你可以XmlSerializer
这样做:
var serializer = new XmlSerializer(typeof(MyObject));
object result;
using (TextReader reader = new StringReader(xml))
{
result= serializer.Deserialize(reader);
}
var myObject = result as MyObject;
Run Code Online (Sandbox Code Playgroud)
对于已存在对象实例的情况,请检查以下问题:将属性反序列化为预先存在的对象
归档时间: |
|
查看次数: |
1027 次 |
最近记录: |