我需要处理一系列XML文档,将关键元素和属性存储在几个关系表中(“一个”和一个相关的“多个”表)。
我已经确定了识别相关节点所需的正确Xpath逻辑。
一种方法是在转换完成时处理DOM节点集,并根据需要插入记录。虽然这会起作用,但看起来非常不优雅。
另一个可选项是生成CSV文件,然后批量插入。
在任何一种情况下,最好有一种灵活的方法将XPath映射到设置文件中的表/列组合,而不是硬编码。
有没有特别优雅的方法来处理我不考虑的情况?
答案 0 :(得分:0)
由于我遇到同样的问题,我会告诉你我是如何处理的。我根据我的XML文件创建了DOM。为了确保我的sql语句没有错误,我没有“动态”插入数据,但我创建了一个文件,其中是INSERT
语句。为了优化插入,我每50 INSERT
创建一个VALUES(...)
语句。在我检查完了之后,我在数据库中插入了我的行。
我希望这个小小的演练可以帮到你。
答案 1 :(得分:0)
有很多方法可以做到这一点。您的数据库是SQL服务器数据库吗?如果是这样,您可能需要查看OpenXML,它允许您直接查询xml并将数据插入表中。基本上你的.net应用程序没有智能,它只会读取xml内容并将它们作为参数传递给sql语句。