大型XML与选择性解析

时间:2014-10-29 19:02:10

标签: dom xpath xml-parsing saxparser

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

有GUI需要向用户显示一些XML元素,并允许更新某些字段并将其作为新XML消息再次存储在数据库中

尝试在性能和内存方面找到最有效的实现堆栈。

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

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

1 个答案:

答案 0 :(得分:0)

我的经验是在常见的RDBMS中使用XML数据类型是可以的,但不是很好。我发现原生XML DBMS对ISO 20022更有效,例如MarklogiceXistdb

如果要继续使用RDBMS的XML类型,请使用XQuery提取所需的项目。 Oracle称之为XMLQuery。 Microsoft为XQuery提供了query函数。

由于XQuery基于XPath,所以使用XPath是实现目标的好方法。