我们有一个XML(它有一些需要过滤的非unicode)数据,
<row><div>1234</div><dept>ABCD</dept></row>
<row><div>5678</div><dept>EFGH</dept></row>
仅提及2个列标签以便于理解。实际上每个
中有超过20个列标签将XML数据作为记录直接插入到Oracle模式表中,作为
div_c qdept
1234 ABCD
5678 EFGH
解析这个巨大的XML并找出该记录是否存在于数据库表中的适当方法是什么?有哪些开源工具可供使用?
我知道这真的是我正在做的最糟糕的事情并且需要数年时间才能完成,我真的需要一些建议,比如是否与任何ORM一起使检查更容易并快速进行XML解析。
这样的一些建议对我有帮助。
答案 0 :(得分:1)
呀。我认为你使用StAX是正确的。你肯定想要流,StAX似乎有最简单的流式XML API。我不会马上去ORM。大多数ORM是往返数据。它可以节省您进行机械转换的工作。当你有非常结构化的数据时,这会很好,但两个模式之间的映射并不是很复杂。在这里,您尝试将数据从一种格式导入另一种格式。听起来您的大型数据集具有相当简单的模式,但映射是更复杂的部分。使用自定义代码。 Pawel对临时表的建议听起来不错。尝试在一次操作整个数据集的存储过程中执行尽可能多的处理(旧的和导入的)。您不希望继续将这些行从数据库中来回传输到您的应用程序。