Как разобрать XML-документ в Java с использованием подхода SAX - PullRequest
1 голос
/ 28 августа 2009

Я хочу проанализировать файл, который похож на файл HTML. Это не совсем HTML-файл. Он может содержать некоторые пользовательские теги. Я заранее не знаю, как теги вложены друг в друга. Теги также могут иметь атрибуты. Я думаю, что я должен использовать парсер SAX. Есть ли в Java встроенный SAX. Могу ли я вызвать функцию при обнаружении каждого тега?

Ответы [ 3 ]

4 голосов
/ 28 августа 2009

Используйте следующие пакеты, 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 {
}
2 голосов
/ 28 августа 2009

Я думаю, что вы должны использовать StAX , что быстрее и проще в использовании, чем SAX. Это часть Java SE 6.

0 голосов
/ 28 августа 2009

SAX изначально был только Java, так что да, в Java есть встроенный синтаксический анализатор SAX - http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/SAXParser.html. Это будет работать, только если ваш документ правильно сформирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...