我正在从一个 API 导入 xml 数据并将 xml 数据发布到另一个。
我的第一次尝试利用 LINQ 的嵌入值来转换相关值,如下所示:
Dim DetailXML = From product In ProductXML _
Select <detail>
<detail.stockcode><%= product.<sku>.Value %></detail.stockcode>
<detail.stockqty><%= product.<quantity>.Value %></detail.stockqty>
<detail.orderqty><%= product.<quantity>.Value %></detail.orderqty>
<detail.gross><%= product.<total_inc_tax>.Value %></detail.gross>
<detail.taxcode><%= DetailTaxCode %></detail.taxcode>
</detail>
这相当简洁,很容易理解,只需要大约 200 行代码就可以得到完美运行的东西。
在本网站上关于“最佳实践”的各种评论之后,我使用 xml 序列化将其重新开发为面向对象的解决方案。
我现在拥有所有相关表/字段的类/对象,并带有用于完美序列化的 xml 属性。
这是一项重大任务,最终结果是整个项目的代码增加了大约 10 倍,但实际导入/导出循环的代码并没有显着减少。
我的问题是我为什么要打扰? 在这种情况下,面向对象方法的实际优势是什么(如果有的话)?
这不是一个无聊的问题:API 的数据导入/转换/导出是 IT 通才的面包和黄油,这绝不是一个独特的项目。
谢谢。