如何在解析复杂的XML文件时防止样板Java代码?
问题描述:
我已经用DocumentBuilderFactory为复杂的XML文件编写了XML解析器。因为有许多不同的节点类型,所以有许多样板代码。对于每个节点类型(NodeName),我都有一个循环遍历子元素和一个可能的子元素的开关。如何在解析复杂的XML文件时防止样板Java代码?
是否可能只为不同的节点类型注册所需的代码然后运行解析?
答
编写自定义解析器可能不是要走的路。 如果您只需将XML映射到Java对象,则预先存在的库或工具是最好的。让别人担心样板。
我是Apache Digester的忠实粉丝,它需要一大堆规则和为你制作Java bean。对于更多的学习曲线,但更多的灵活性和强大功能,您可以使用Apache XMLBeans。