我们需要创建一个通用的 XML 解析器和规则引擎,用于读取 XML 文件并将数据存储在适当的表中。
用例:
假设我们有来自 A 的 Afile1.xml
<x>
<y>1</y>
<z>a</z>
<x>
以及数据库中的映射,例如
Source FileName Field Path
A Afile1 table1.value1 /x/y
B Bfile7 table1.value1 /p/q/r
A Afile1 table1.value2 /x/z
我们需要设计一个系统
- 读取xml文件Afile1,Bfile2
- 从文件中选择值并更新表中的值。
设计此类系统的最佳平台是什么,perl 还是 Java。观察我们需要使用 xpath 解析大量 xml。 Java中是否有任何框架可以帮助轻松构建所需的系统。
谢谢
最佳答案
恕我直言,最好的方法是停下来思考:人们是否有可能还没有构建通用的 XML 解析器?
感谢一秒、二、三……哦,天啊!他们肯定做到了!
好的,现在我们来看看解析XML的方法。从一些谷歌搜索开始。找到 SAX 和 DOM。了解它们,但是等等!不要开始实现您的实际应用程序。看看 JAXB。稍微学一下吧。现在提示:看一下 @XmlAnyElement
。这可能是执行通用 XML 解析所需的。
好的,现在您可以将 XML 文档转换为适当的 java 对象了。下一阶段将对象存储在数据库中。这里有一个问题:使用哪个数据库?我真的需要关系数据库吗?提示:您可能不需要。也许您可以使用能够按原样存储对象的 NoSql 实现之一。例如 MongoDB。
但是,如果您决定使用关系数据库,请首先阅读有关 JDBC 的信息,但不要直接使用它。当您了解它是如何工作时,请阅读 JPA 并思考如何将它用于您的任务。
享受吧:)
关于java - 通用 XML 解析器设计分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587250/