这是我的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;
}
}
};
答案 0 :(得分:2)
在startElement()
中,可以从attributes
评估class属性。然后,如果存在属性class
并且您对此特定类(其值)感兴趣,则可以设置标记。如果不是,请重置标志。在characters
中评估此标志以检索元素的文本内容。
对于小文档和非关键性能,您可以使用XPath以更优雅的方式解决此问题。