如何最大程度地减少使用SAX解析器构建对象树的痛苦?例如,在哪个方法中创建Java对象以及在哪里存储它们,如何保留和使用堆栈来处理复杂的层次结构,如何处理属性和嵌套元素?如何处理字符数据?
基本上,核心功能应该放在哪里,使生活更加轻松?
如何最大程度地减少使用SAX解析器构建对象树的痛苦?例如,在哪个方法中创建Java对象以及在哪里存储它们,如何保留和使用堆栈来处理复杂的层次结构,如何处理属性和嵌套元素?如何处理字符数据?
基本上,核心功能应该放在哪里,使生活更加轻松?
我经常使用Dom4j的SAXReader和ElementHandler来构建大型XML文件的迷你DOM块。
需要记住以下几点:
onEnd()
中调用elementPath.getCurrent()
以获取实际元素。onEnd()
方法结束时调用element.detach()
。addHandler(String, Handler)
的路径不是XPath,而只是一个由“/”分隔的路径栈。