Захват смешанного содержимого в XML с использованием SAX Parser - PullRequest
0 голосов
/ 11 февраля 2010

Может ли SAX Parser захватывать смешанный контент в XML-документе (см. Пример ниже)?

<element>here is some <b>mixed content</b></element>

Ответы [ 2 ]

4 голосов
/ 11 февраля 2010

Конечно. Вы получаете следующие события:

  1. startElement (элемент)
  2. символов («здесь есть некоторые»)
  3. startElement (b)
  4. символов («смешанный контент»)
  5. endElement (b)
  6. endElement (элемент)
1 голос
/ 11 февраля 2010

Да, хотя я не уверен, что вы подразумеваете под захватом . Если вы запустите приведенный ниже короткий пример, вы увидите, что обработчик startElement вызывается для element и b :

String xml = "<element>here is some <b>mixed content</b></element>";
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
parser.parse(new ByteArrayInputStream(xml.getBytes()), new DefaultHandler(){
    @Override
    public void startElement(String uri, String localName, String name,
            Attributes attributes) throws SAXException {
        System.out.println("Started: "+name);
    }
});
...