public class XMLHandler extends DefaultHandler
{
private List<person> persons;
private person person;
private StringBuffer buffer = new StringBuffer();
@Override
public void characters(char[] ch, int start, int length)throws SAXException
{
buffer.append(ch, start, length);
super.characters(ch, start, length);
}
@Override
public void startDocument() throws SAXException
{
persons = new ArrayList<person>();
super.startDocument();
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
if (localName.equalsIgnoreCase("person"))
{
person = new person();
}
super.startElement(uri, localName, qName, attributes);
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException
{
if (localName.equalsIgnoreCase("person"))
{
persons.add(person);
}
else if (localName.equalsIgnoreCase("name"))
{
person.setName(buffer.toString().trim());
buffer.setLength(0);
}
else if (localName.equalsIgnoreCase("hobby"))
{
person.setHobby(buffer.toString().trim());
buffer.setLength(0);
}
super.endElement(uri, localName, qName);
}
@Override
public void endDocument() throws SAXException
{
super.endDocument();
}
public List<person> getPersons()
{
return persons;
}
}
xml:
<?xml version="1.0" encoding="utf-8"?>
<persons>
<person>
<name>
mickey
</name>
<hobby>
篮球
</hobby>
</person>
<person>
<name>
held
</name>
<hobby>
编程
</hobby>
</person>
<person>
<name>
wenwen
</name>
<hobby>
美容
</hobby>
</person>
</persons>
{
private List<person> persons;
private person person;
private StringBuffer buffer = new StringBuffer();
@Override
public void characters(char[] ch, int start, int length)throws SAXException
{
buffer.append(ch, start, length);
super.characters(ch, start, length);
}
@Override
public void startDocument() throws SAXException
{
persons = new ArrayList<person>();
super.startDocument();
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
if (localName.equalsIgnoreCase("person"))
{
person = new person();
}
super.startElement(uri, localName, qName, attributes);
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException
{
if (localName.equalsIgnoreCase("person"))
{
persons.add(person);
}
else if (localName.equalsIgnoreCase("name"))
{
person.setName(buffer.toString().trim());
buffer.setLength(0);
}
else if (localName.equalsIgnoreCase("hobby"))
{
person.setHobby(buffer.toString().trim());
buffer.setLength(0);
}
super.endElement(uri, localName, qName);
}
@Override
public void endDocument() throws SAXException
{
super.endDocument();
}
public List<person> getPersons()
{
return persons;
}
}
xml:
<?xml version="1.0" encoding="utf-8"?>
<persons>
<person>
<name>
mickey
</name>
<hobby>
篮球
</hobby>
</person>
<person>
<name>
held
</name>
<hobby>
编程
</hobby>
</person>
<person>
<name>
wenwen
</name>
<hobby>
美容
</hobby>
</person>
</persons>
本文详细介绍了如何使用XMLHandler类解析XML文件,并提取个人数据如姓名和爱好。通过实例演示了如何从XML文件中获取信息并将其存储到person对象中。
1468

被折叠的 条评论
为什么被折叠?



