package demo05;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
public class PullParse {
public static void main(String[] args) throws Exception {
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
XmlPullParser parser=factory.newPullParser();
parser.setInput(new FileInputStream("db/read.xml"),"UTF-8");
int event=parser.getEventType();
String tag=null;
Book book=null;
HashMap>map=null;
Listlist=null;
while(event!=XmlPullParser.END_DOCUMENT){
switch (event) {
case XmlPullParser.START_DOCUMENT:
map=new HashMap>();
break;
case XmlPullParser.START_TAG:
tag=parser.getName();
if("time".equals(tag)){
String level=parser.getAttributeValue("","level");
list=new ArrayList();
map.put(Integer.parseInt(level),list);
}
if("book".equals(tag)){
book=new Book();
String id=parser.getAttributeValue("","id");
book.setId(Integer.parseInt(id));
}
break;
case XmlPullParser.TEXT:
if("book".equals(tag)){
book.setName(parser.getText());
}
break;
case XmlPullParser.END_TAG:
tag=null;
if("book".equals(parser.getName())){
list.add(book);
}
break;
}
event=parser.next();
}
Setset=map.keySet();
for(Integer in:set){
System.out.println(in);
for(Book b:map.get(in)){
System.out.println(b);
}
}
}
}