java - SAX 解析器不工作

标签 java xml sax

我正在尝试使用java中的sax读取xml文件。我只获得 endElement 的输出,但无法找出 startElement 出了什么问题。

这是我的处理程序:

public class XMLHandler extends DefaultHandler {

public void startElement(String uri, String localName,String qName, Attributes attributes) throws SAXException {
System.out.println( "SAX Event: START ELEMENT[ " + localName + " ]" );
}

public void endElement( String namespaceURI, String localName, String qName ) throws SAXException {
System.out.println( "SAX Event: END ELEMENT[ " + localName + " ]" );
}

}

我使用以下代码对其进行测试:

 public static void main(String args[]) throws ParserConfigurationException, SAXException, IOException
{
SAXParserFactory spf = SAXParserFactory.newInstance();
    spf.setNamespaceAware(true);
SAXParser saxParser = spf.newSAXParser();
saxParser.parse("http://www.w3schools.com/xml/note.xml", new XMLHandler());
}

我使用 w3schools 的示例 XML 文件:

<!-- Edited by XMLSpy® -->
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

这是我的输出:

SAX Event: END ELEMENT[ to ]
SAX Event: END ELEMENT[ from ]
SAX Event: END ELEMENT[ heading ]
SAX Event: END ELEMENT[ body ]
SAX Event: END ELEMENT[ note ]

我真的不明白我在这里做错了什么......

最佳答案

我的猜测是你的方法原型(prototype)不正确。这就是为什么您应该始终使用 @Override 注释。您可能导入了错误的 Attributes 类?

关于java - SAX 解析器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731101/

相关文章:

java - JAXB - 从 Java 对象字段创建嵌套子元素

c# - 有没有办法将 IEnumerable 转换为 XElements 的集合?

java - RecyclerView 加载正方形图像

Java SAX 在 XML 文件中搜索数据

java - 使用 SAX 的 XML 模式验证 - 它是如何工作的?

java - Java 中的 FORTRAN EXTERNAL 概念

java - 在 javascript 和 java 之间移植数学代码时遇到问题

AS400 中的 Java 系统属性

java - 使用 ExtJS 进行页面重定向/刷新

java - 帮助 Java SAX 解析器理解错误的 xml