【发布时间】:2014-03-29 07:20:44
【问题描述】:
我正在通过 SAX XML 解析器解析一个简单的 XML 文件,并在列表视图中显示结果。这已成功完成。现在我想在 abc 标签像下面的 XML 文件一样关闭时这样做。然后下面的标签项不解析(苹果不添加列表视图)。谁能帮我。提前谢谢
<abc>
<employee>
<name>Android</name>
</employee>
<employee>
<name>Nokia</name>
</employee>
</abc>
<employee>
<name>Apple</name>
</employee>
这是我正在使用的 SAXXMLHandler
public class SAXXMLHandler extends DefaultHandler {
private List<Employee> employees;
private String tempVal;
private Employee tempEmp;
public SAXXMLHandler() {
employees = new ArrayList<Employee>();
}
public List<Employee> getEmployees() {
return employees;
}
// Event Handlers
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException {
// reset
tempVal = "";
if (qName.equalsIgnoreCase("employee")) {
// create a new instance of employee
tempEmp = new Employee();
}
}
public void characters(char[] ch, int start, int length) throws SAXException {
tempVal = new String(ch, start, length);
}
public void endElement(String uri, String localName, String qName) throws SAXException {
if (qName.equalsIgnoreCase("employee")) {
// add it to the list
employees.add(tempEmp);
} else if (qName.equalsIgnoreCase("name")) {
tempEmp.setName(tempVal);
}
}
}
【问题讨论】:
-
这个xml是你自己创建的吗?
-
是的,从资产文件夹加载 xml
-
那不是很好的形式....我正在给你答案的解决方案。