如何使用SAX Parser解析并获取具有特定类的div元素

时间:2014-05-09 10:32:07

标签: java xml

这是我的XML文件的片段

<name>Jason</name>
<div class="title">Domain Architect</div>

如何使用SAX Parser解析并获取具有特定类“title”的div元素?

我能够解析并获得所有div元素 是否有一种简单的方法来获取仅属于特定类的元素。

编辑:

这就是我的处理程序:

DefaultHandler handler = new DefaultHandler() {

boolean bfname = false;
boolean bdesig = false;

public void startElement(String uri, String localName,String qName, 
            Attributes attributes) throws SAXException {



    if (qName.equalsIgnoreCase("name")) {
        bfname = true;
    }

    if((qName.equalsIgnoreCase("div"))) {
        bdesig = true;
    }


}

public void characters(char ch[], int start, int length) throws SAXException {

    if (bfname) {
        System.out.println("Name : " + new String(ch, start, length));
        bfname = false;
    }

    if(bdesig) {
        System.out.println("Designation : " + new String(ch, start, length));
        bdesig = false;
    }

}

 };

1 个答案:

答案 0 :(得分:2)

startElement()中,可以从attributes评估class属性。然后,如果存在属性class并且您对此特定类(其值)感兴趣,则可以设置标记。如果不是,请重置标志。在characters中评估此标志以检索元素的文本内容。

对于小文档和非关键性能,您可以使用XPath以更优雅的方式解决此问题。

相关问题