,如果我們這樣做是SAX解析器:新來SAX解析器所以需要這個基本
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("id")) {
tempEmp.setId(Integer.parseInt(tempVal));
} else if (qName.equalsIgnoreCase("name")) {
tempEmp.setName(tempVal);
} else if (qName.equalsIgnoreCase("department")) {
tempEmp.setDepartment(tempVal);
} else if (qName.equalsIgnoreCase("type")) {
tempEmp.setType(tempVal);
} else if (qName.equalsIgnoreCase("email")) {
tempEmp.setEmail(tempVal);
}
}
}
此:
<employee>
<id>2163</id>
<name>Kumar</name>
<department>Development</department>
<type>Permanent</type>
<email>[email protected]</email>
</employee>
我們將在SAX解析器做此:
<MyResource>
<Item>First</Item>
<Item>Second</Item>
</MyResource>
我是SAX解析器的新手。
以前我對DOM和PullParser有問題,對於相同的XML。
是不是有任何解析器用於解析這個簡單的XML。
你能爲我提供XML.As代碼只包含''- 標籤和類似編號的標籤,名稱等, ...即'
- '標籤名稱重複,這是不是在員工例子中我已經提到的情況...我是全新的SAX ... –
Altair
@Altair完成了,但你是否嘗試自己做? –