使用SAX Parser捕获XML中的混合内容

时间:2010-02-10 22:04:34

标签: java xml sax

SAX Parser是否能够捕获XML文档中的混合内容(参见下面的示例)?

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

2 个答案:

答案 0 :(得分:4)

当然。您将收到以下事件:

  1. startElement(element)
  2. 字符(“这里是一些”)
  3. startElement(b)
  4. 字符(“混合内容”)
  5. endElement(b)
  6. endElement(element)

答案 1 :(得分:1)

是的,虽然我不确定捕获是什么意思。如果您运行下面的简短示例,您将看到为元素 b 调用的 startElement 处理程序:

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);
    }
});