XML - > XSLT - > D B

时间:2011-10-20 18:50:19

标签: .net xml

我需要处理一系列XML文档,将关键元素和属性存储在几个关系表中(“一个”和一个相关的“多个”表)。

我已经确定了识别相关节点所需的正确Xpath逻辑。

一种方法是在转换完成时处理DOM节点集,并根据需要插入记录。虽然这会起作用,但看起来非常不优雅。

另一个可选项是生成CSV文件,然后批量插入。

在任何一种情况下,最好有一种灵活的方法将XPath映射到设置文件中的表/列组合,而不是硬编码。

有没有特别优雅的方法来处理我不考虑的情况?

2 个答案:

答案 0 :(得分:0)

由于我遇到同样的问题,我会告诉你我是如何处理的。我根据我的XML文件创建了DOM。为了确保我的sql语句没有错误,我没有“动态”插入数据,但我创建了一个文件,其中是INSERT语句。为了优化插入,我每50 INSERT创建一个VALUES(...)语句。在我检查完了之后,我在数据库中插入了我的行。

我希望这个小小的演练可以帮到你。

答案 1 :(得分:0)

有很多方法可以做到这一点。您的数据库是SQL服务器数据库吗?如果是这样,您可能需要查看OpenXML,它允许您直接查询xml并将数据插入表中。基本上你的.net应用程序没有智能,它只会读取xml内容并将它们作为参数传递给sql语句。