【发布时间】:2009-08-28 15:15:47
【问题描述】:
我想解析一个类似于 HTML 文件的文件。它不完全是一个 html 文件。它可以包含一些用户定义的标签。我事先不知道标签是如何相互嵌套的。标签也可能有属性。 我想我应该使用 SAX 解析器。 java 有内置的 SAX 吗?遇到每个标签可以调用函数吗?
【问题讨论】:
我想解析一个类似于 HTML 文件的文件。它不完全是一个 html 文件。它可以包含一些用户定义的标签。我事先不知道标签是如何相互嵌套的。标签也可能有属性。 我想我应该使用 SAX 解析器。 java 有内置的 SAX 吗?遇到每个标签可以调用函数吗?
【问题讨论】:
使用以下软件包, java.io,javax.xml.parsers,org.xml.sax.
SAXParserFactory spf = SAXParserFactory.newInstance();
XMLReader reader = null;
SAXParser parser = spf.newSAXParser();
reader = parser.getXMLReader();
reader.setContentHandler(new MyContentHandler());
//XMLReader to parse the entire file.
InputSource is = new InputSource(filename);
reader.parse(is);
// 实现ContentHandler的方法
class MyContentHandler implements ContentHandler {
}
【讨论】:
我认为您应该改用StAX,它比SAX 更快、更容易使用。它是 Java SE 6 的一部分。
【讨论】:
SAX 最初只是 Java,所以是的,Java 有一个内置的 SAX parser。这仅在您的文档格式正确时才有效。
【讨论】: