转载:http://blog.csdn.net/liuhe688/article/details/6415593
- XmlPullParser parser = Xml.newPullParser();
- parser.setInput(is, "UTF-8");
-
- int eventType = parser.getEventType();
- while (eventType != XmlPullParser.END_DOCUMENT) {
- switch (eventType) {
- case XmlPullParser.START_DOCUMENT:
- books = new ArrayList<Book>();
- break;
- case XmlPullParser.START_TAG:
- if (parser.getName().equals("book")) {
- book = new Book();
- } else if (parser.getName().equals("id")) {
- eventType = parser.next();
- book.setId(Integer.parseInt(parser.getText()));
- } else if (parser.getName().equals("name")) {
- eventType = parser.next(); //parser.getAttributeName(0) 当前标签内第0个属性的名称 parser.getAttributeValue(0) 当前标签内第0个属性对应的值
- //parser.getAttributeValue("","name"); 得到当前标签内名称为name的值,默认为“”
- book.setName(parser.getText());
- } else if (parser.getName().equals("price")) {
- eventType = parser.next();
- book.setPrice(Float.parseFloat(parser.getText()));
- }
- break;
- case XmlPullParser.END_TAG:
- if (parser.getName().equals("book")) {
- books.add(book);
- book = null;
- }
- break;
- }
- eventType = parser.next();
- }
- return books;
- }
-
- @Override
- public String serialize(List<Book> books) throws Exception {
-
-
-
- XmlSerializer serializer = Xml.newSerializer();
- StringWriter writer = new StringWriter();
- serializer.setOutput(writer);
- serializer.startDocument("UTF-8", true);
- serializer.startTag("", "books");
- for (Book book : books) {
- serializer.startTag("", "book");
- serializer.attribute("", "id", book.getId() + "");
-
- serializer.startTag("", "name");
- serializer.text(book.getName());
- serializer.endTag("", "name");
-
- serializer.startTag("", "price");
- serializer.text(book.getPrice() + "");
- serializer.endTag("", "price");
-
- serializer.endTag("", "book");
- }
- serializer.endTag("", "books");
- serializer.endDocument();
-
- return writer.toString();
- }
- }
转载于:https://www.cnblogs.com/fengchuxiaodai/p/5560323.html