将多个xml提要映射到一个对象

时间:2010-07-10 14:43:00

标签: c# xml mapping

使用C#我希望能够将多个xml提要映射到一个自定义对象。每个xml提要都有相同类型的数据,但有自己的命名约定。

理想情况下,我希望为每个xml feed存储自己的映射,并在将xml数据复制到我的对象时自动应用它。我想这样做,因为系统可能会增长到数百个源,因此只需能够存储映射就可以比为每个feed编写代码更容易维护。

例如,我的对象包含

ID,姓名

xml feed one

代码,产品名称

xml feed two

UniqueID,FullName

所以映射将是

ID - >码 名称 - >产品名称

ID - >唯一身份 名称 - >全名

实现这一目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

我会在配置文件中创建一个配置部分。然后,您可以为每个Feed提供一个节点。然后,其中的节点具有映射信息。 Feed节点中的节点将与c#对象中的属性匹配,节点值将是xml文件中的节点名称。如果它更复杂,你甚至可以添加完整的xpath路径。

<feed url="">
    <id>Code</id>
    <Name>ProductName</Name>
</feed>

然后在您的应用中,您可以加载Feed。然后在配置文件中搜索节点,以获取如何从xml文件中的字段将字段映射到C#对象。

只有一种方法可以在不更改应用程序的情况下轻松配置和增长,除非c#对象发生更改。