Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打印SAX解析器的输出_Java_Xml_Parsing - Fatal编程技术网

Java 如何打印SAX解析器的输出

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,它允许我

我有以下解析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
字符
endElement
,等等)。与DOM不同的是,没有可以透视的对象模型,如果不保留事件中的数据,它将永远消失。如果要打印SAX解析器的输出,则需要将此逻辑放入
ContentHandler
的实现中

注意:


DefaultHandler
本身不做任何事情。它只是
ContentHandler
的一个空实现,您可以对其进行扩展,以便只需覆盖您感兴趣的事件方法。

谢谢。我在默认处理程序中实现了所有这三个函数,并且它工作正常