Java 如何打印SAX解析器的输出
我有以下解析xml文件的代码:Java 如何打印SAX解析器的输出,java,xml,parsing,Java,Xml,Parsing,我有以下解析xml文件的代码: SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); DefaultHandler dh=new DefaultHandler(); parser.parse("newfile.xml",dh); 我被困在这里了。SAX中没有任何方法类似于DOM中的document.getElementByTagName,它允许我
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
DefaultHandler dh=new DefaultHandler();
parser.parse("newfile.xml",dh);
我被困在这里了。SAX中没有任何方法类似于DOM中的
document.getElementByTagName
,它允许我打印所有节点及其值SAX解析器提供了一种机制来接收基于XML文档深度优先遍历的事件(即startElement
,字符
,endElement
,等等)。与DOM不同的是,没有可以透视的对象模型,如果不保留事件中的数据,它将永远消失。如果要打印SAX解析器的输出,则需要将此逻辑放入ContentHandler
的实现中
注意:
DefaultHandler
本身不做任何事情。它只是ContentHandler
的一个空实现,您可以对其进行扩展,以便只需覆盖您感兴趣的事件方法。谢谢。我在默认处理程序中实现了所有这三个函数,并且它工作正常