我在标题中提到了 C#,但这是一个通用的编程问题。我只是想找到执行以下操作的最佳方法:
我有 tableA 包含以下字段
ID : 1
ProjectName : "Test"
City : "NY"
Size : 100
Location : "USA"
现在我需要为第 3 方应用程序序列化该表,但是我的应用程序使用通用数据协定(见下文),此外还必须稍微修改字段名称。所以上表将被序列化如下:
<Object>
<type>Project</type>
<Fields>
<Key>NameofProject</Key><Value>Test</value>
<Key>ProjectCity</Key><Value>NY</value>
<Key>ProjectLocation</Key><Value>USA</value>
</Fields>
</Object>
如您所见,我需要将 TableA 中的字段映射到新的字段名称/键:
ProjectName -> NameofProject
City -> ProjectCity
Location ->ProjectLocation
这就是我实现上述目标的方式: - 创建一个映射表,用于存储如上所述的映射关系
InputField -> OutputKey
ProjectName -> NameofProject
City -> ProjectCity
Location ->ProjectLocation
I would then load the data from this table into a Set
I would then loop through each row of the input
- for each column in the row I would get the OutputKey based on the InputField as stored in my mapping Set, and build the xml
我假设在 Set 中存储少量信息,然后对每个字段进行查找应该不会太糟糕。但我不是一个有经验的 C# 用户,所以想知道在 C# 中是否有更好的方法来做到这一点。任何帮助或方向将不胜感激。
编辑:建议使用 XSLT 的评论 - 这是一个好主意,但由于此任务的其他复杂性,我最好根据数据合同在代码中构建 xml。有没有办法通过输入数据表和映射表的sql连接来实现映射?