【问题标题】:Map multiple xml feeds to one object将多个 xml 提要映射到一个对象
【发布时间】:2010-07-10 22:55:30
【问题描述】:

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

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

例如,我的对象包括

身份证、姓名

而 xml 提要之一是

代码、产品名称

xml 提要二是

唯一ID,全名

所以映射是

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

ID -> 唯一ID 姓名 -> 全名

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

【问题讨论】:

    标签: c# xml mapping


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我喜欢配置文件的想法,但我将如何进行实际映射?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 2021-04-13
    相关资源
    最近更新 更多