具有选择性解析的大型XML

问题描述:

我们正在构建一种临时应用程序,在该应用程序中,我们接收大量XML文件(ISO 20022消息),并在其中定义大量元素。我们只是将这些XML作为XMLtype存储在数据库中,并将它们发送到下游系统以供进一步处理。具有选择性解析的大型XML

有GUI,我们需要显示一些那些XML元素给用户,并允许更新一些字段,并在数据库中新的XML消息

再存放起来试图找到最好的有效的执行堆栈相对于性能和记忆。

一个想法是确定需要在UI中显示的XML元素,并将这些元素定义为具有XPath的元字段。试图避免分析整个XML。

当只需要查看和更新​​某些元素时,欣赏任何处理大型XML的想法。

+0

SAX,DOM是上一代,过时的XML解析技术,VTD-XML是最好的艺术状态 – 2016-04-30 06:27:58

我的经验是,在常用的RDBMS中使用XML数据类型是可以的,但不是很好。我发现原生XML DBMS对ISO 20022的工作要好得多,如MarklogiceXistdb

如果您想继续使用RDBMS的XML类型,请使用XQuery提取您想要的项目。甲骨文称这个XMLQuery。微软有一个用于XQuery的query函数。

由于XQuery基于XPath,因此使用XPath是实现您想要的一种好方法。