【问题标题】:Mapping XML to Unrelated Objects将 XML 映射到不相关的对象
【发布时间】:2013-05-02 15:36:37
【问题描述】:

我正在设计一个流程来从我们的客户端获取 XML 文件并将它们加载到我们的数据库中,从而在我们这边创建一个订单。

问题是,而且不是一直存在吗?客户端的 XML 确实不像我们用来将数据加载到数据库的业务对象。

所以我必须设计一种方法来将它们指定的格式放入我们的自定义对象中。

我正在考虑从它们的 XML 中创建“动态”自定义对象,然后想出一个“映射”来将它们的对象转换为我们的对象。这就是我现在的想法。

本质上我不想编写另一个支持他们数据的数据加载过程,我只是想把他们的数据变成我们的格式。

我知道这基本上是一个设计问题,所以我只是抛出我的想法,看看它是否适合其他人。或者,如果有人这样做并有建议,我很乐意听到。谢谢!

【问题讨论】:

  • 您有特定的编程语言和环境吗?另外,您现有的数据库基础架构是什么样的?
  • 您可以使用 Linq-to-XML 将他们的 XML 文件直接转换为您的对象。
  • 我正在使用 C# 和 SQL 2005。现在我们有一个现有的流程,使用我们自己的业务对象,将订单提交到我们的 Great Plains 数据库。我只想将他们的数据转换为我们的格式,这样我就可以加入我知道已经有效的流程。
  • XSLT?这实际上取决于您的 IT 架构的大局……
  • 我不确定您所说的我们 IT 架构的大局是什么意思。我只是问大多数人在必须将 xml 文件映射到 POCO 时都在做什么。

标签: c# xml xml-parsing xml-serialization


【解决方案1】:

根据您的标签、c# 和 xml,我会在文件接收(操作系统级别)时生成一个事件,该事件会触发您必须制作的小应用程序。结构方面,我会选择 CompanyName.Object1。

阅读 XDocument 进行解析等等。 XElement 及其属性。

归根结底,它看起来像是一种 CRM 实施,根据我的实施经验,这是最长的过程:解析传入数据。您必须彻底了解您的客户,并让他们写出具体的内容..

<Nodes name="SpecificName">

节点 = 本地名称

名称 = 属性(“名称”)

祝你好运。

【讨论】:

  • 谢谢!我从客户那里得到了一个明确的规范,所以我应该能够依靠它来保持理智。只需将他们的 XML 转换为我们的 XML 格式即可。实际上,我开始倾向于 XLST。将来,我们可能会有其他客户需要以不同格式发送他们的数据,但我们总是需要以我们的格式翻译这些数据。对我来说,这开始听起来像 XSLT。
猜你喜欢
  • 2021-04-13
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多