我目前正在使用SAX(Java)来解析一些不同的XML文档,每个文档代表不同的数据并且结构略有不同.因此,每个XML文档都由不同的SAX类(子类DefaultHandler)处理.
但是,有一些XML结构可以出现在所有这些不同的文档中.理想情况下,我想告诉解析器"嘿,当你到达一个complex_node元素时,只需用ComplexNodeHandler它来阅读它,然后给我回复结果.如果你到达了some_other_node,请用OtherNodeHandler它来阅读它然后给我回复结果".
但是,我看不出一个明显的方法来做到这一点.
我应该只是制作一个单片处理程序类,它可以读取我拥有的所有不同文档(并根除代码重复),还是有更智能的方法来处理它?