繁体   English   中英

如何打印SAX解析器的输出

[英]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文档的深度优先遍历来接收事件(即startElementcharactersendElement等)。 与DOM不同,没有可以自省的对象模型,如果您不依赖事件中的数据,它将永远消失。 如果要打印SAX解析器的输出,则需要将此逻辑放入ContentHandler的实现中。

注意:

DefaultHandler本身不执行任何操作。 您可以扩展它只是ContentHandler一个空实现,因此您只需要重写您感兴趣的事件方法即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM