我从另一个软件系统获得了一个带有大量数据的xml文件。 我必须对这些数据做很多工作,所以我想将这个xml数据转换为特定的域模型,这使我的工作效率更高。所以我需要一种机制来将xml数据映射到域模型,反之亦然。 我有什么可能,你能完成清单吗?
提前谢谢你, 最好的祝福 :-) 劳林
编辑:简单地说:我想做OR映射但不是DBMS我有一个XML文件; - )
答案 0 :(得分:3)
尝试将Linq用于Xml。您的映射器看起来像下面的代码。
的xml:
<contacts>
<contact contactId="2">
<firstName>Barry</firstName>
<lastName>Gottshall</lastName>
</contact>
<contact contactId="3">
<firstName>Armando</firstName>
<lastName>Valdes</lastName>
</contact>
</contacts>
加载数据的代码:
XDocument loaded = XDocument.Load(@"C:\contacts.xml");
映射:
List<MyContact> contacts = (from c in loaded.Descendants("contact")
select new MyContacts() {
FirstName = (string)c.Element("firstName"),
LastName = (string)c.Element("lastName")
}).ToList();
答案 1 :(得分:0)
假设xml模型与对象之间存在一对一的关系,您也可以实现System.Xml.Serialization.IXmlSerializable
。 Proper way to implement IXmlSerializable?
答案 2 :(得分:0)
XML序列化/反序列化似乎是个好主意。
的更多信息