java - 通用 XML 解析器设计分析

标签 java xml database parsing xpath

我们需要创建一个通用的 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/

相关文章:

java - 绘制 iconimage java swing?

javascript - 当我加载 .xml 文件时,它的内容有时会出现在我的网页上,但当我刷新时,它就会消失。 (javascript、jquery、ajax、xml)

java - 将android SQLite文本内容转储到textView中

html - xslt 允许在 concat 和 normalize-space 中使用参数

MYSQL查询不同表相同ID

java - 当我尝试关闭 MySQL 连接时出错

java - 删除 ArrayList<SearchResults> 中的重复项

java - 修改后的String.hashCode()的重新排序说明

java - 为什么使用 ProGuard 混淆会出现错误,但没有混淆就不会出现错误?

objective-c - objective-c 中的自动解析库 - [Automated XML/JSON to Object Conversion]