如何防止样板Java代码解析复杂的XML文件?

如何防止样板Java代码解析复杂的XML文件?,java,xml-parsing,boilerplate,Java,Xml Parsing,Boilerplate,我已经用DocumentBuilderFactory为一个复杂的XML文件编写了一个XML解析器。因为有许多不同的节点类型,所以有许多样板代码。对于每种节点类型(NodeName),我都有一个在子节点上的循环和一个用于可能的子元素的开关 是否可以只为不同的节点类型注册所需的代码,然后运行解析?几种方法: 将重复的代码转换为可重用的方法 使用直接选择特定节点 使用工具将XML转换为fullworthy Javabean,例如 Java DOM解析API确实有点像样板。还有其他一些图书馆:

我已经用DocumentBuilderFactory为一个复杂的XML文件编写了一个XML解析器。因为有许多不同的节点类型,所以有许多样板代码。对于每种节点类型(NodeName),我都有一个在子节点上的循环和一个用于可能的子元素的开关

是否可以只为不同的节点类型注册所需的代码,然后运行解析?

几种方法:

  • 将重复的代码转换为可重用的方法
  • 使用直接选择特定节点
  • 使用工具将XML转换为fullworthy Javabean,例如

    • Java DOM解析API确实有点像样板。还有其他一些图书馆:


        • 编写自定义解析器可能不是一条可行之路。 如果您只需要将XML映射到Java对象,那么最好使用已有的库或工具。让其他人来担心样板

          我是Apache Digester的忠实粉丝,它需要一系列规则,并为您构建Java bean。为了获得更多的学习曲线,但更大的灵活性和能力,您可以使用ApacheXMLBeans