- <?xmlversion="1.0"encoding="UTF-8"?>
- <persons>
- personid="328">
- name>zhangsan</age>23personpersonid="303">lisi>22>
如何获取解析器?
1、得到解析工厂。
2、得到解析器。
3、解析xml文件
如何获取事件处理器?
常用事件:
1、startDocument() 读到文档开始时触发事件。
2、endDocument() 读到文档结束时触发事件。
3、startElement() 读到标签开始时触发事件。
4、endElement() 读到标签结束时触发事件。
5、characters() 读到文档字符数据时触发事件。哪怕是空白区域,也会触发这个方法。
下面看一个例子,将上述person.xml保存项目src目录下,并读取后将内容封装成Person对象。
Person类:
[java]
copy
- publicclassPerson{
- privateintid;
- privateStringname;
- intage;
- intgetId(){
- returnid;
- }
- voidsetId(intid){
- this.id=id;
- publicStringgetName(){
- returnname;
- voidsetName(Stringname){
- this.name=name;
- intgetAge(){
- returnage;
- voidsetAge(intage){
- this.age=age;
- @Override
- inthashCode(){
- finalintprime=31;
- intresult=1;
- result=prime*result+age;
- result=prime*result+id;
- result=prime*result+((name==null)?0:name.hashCode());
- returnresult;
- booleanequals(Objectobj){
- if(this==obj)
- returntrue;
- if(obj==null)
- false;
- if(getClass()!=obj.getClass())
- Personother=(Person)obj;
- if(age!=other.age)
- false;
- if(id!=other.id)
- if(name==null){
- if(other.name!= }elseif(!name.equals(other.name))
- true;
- }
- @Override
- publicStringtoString(){
- return"Person[id="+id+",name="+name+",age="+age+"]";
- publicPerson(intid,Stringname,super();
- this.id=id;
- this.age=age;
- publicPerson(){
- super();
- }