使用Linq to XML自动填充对象
本文关键字:填充 对象 XML Linq to 使用 | 更新日期: 2023-09-27 18:14:21
我有一个使用visual studio的xsd.exe
从XML文档创建的对象。有没有一种方法可以用XML文档的内容填充这个对象的实例,而不必手动设置每个属性/属性?
XElement doc = XElement.Parse(docStr);
var results = from e in doc.Elements("myobj")
select new MyObj { prop1 = (string) e.Attribute("prop1") };
我已经从文档本身生成了MyObj
,当有很多属性时,在该文档中设置每个属性将相当冗长。有没有办法让Linq自己解决这个问题?
如果您通过xsd.exe
(根据问题)创建类型,则使用XmlSerializer
:
var ser = new XmlSerializer(typeof(MyObj));
var obj = (MyObj)ser.Deserialize(source);
您可以尝试使用LINQ-to-XML来实现它,但它实际上是重新实现XmlSerializer
,没有什么用途。