[英]how to print the output of SAX parser
我有以下代码来解析xml文件:
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
DefaultHandler dh=new DefaultHandler();
parser.parse("newfile.xml",dh);
我被困在这里。 SAX中没有类似于DOM中的document.getElementByTagName
任何方法,它允许我打印所有节点及其值
SAX解析器提供了一种机制,该机制基于XML文档的深度优先遍历来接收事件(即startElement
, characters
, endElement
等)。 与DOM不同,没有可以自省的对象模型,如果您不依赖事件中的数据,它将永远消失。 如果要打印SAX解析器的输出,则需要将此逻辑放入ContentHandler
的实现中。
注意:
DefaultHandler
本身不执行任何操作。 您可以扩展它只是ContentHandler
一个空实现,因此您只需要重写您感兴趣的事件方法即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.