文章标题

来源:互联网 发布:西瓜播放器for mac 编辑:程序博客网 时间:2024/05/17 08:25

安卓解析xml比较适合的工具有sax和pull,这里就记录一下pull的使用方法。

以下代码转自http://blog.csdn.net/liuhe688/article/details/6415593/

//读取XmlPullParser parser = Xml.newPullParser();//android.util.Xml创建一个XmlPullParser实例  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();                          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;      }  

写入

public String serialize(List<Book> books) throws Exception {  //      XmlPullParserFactory factory = XmlPullParserFactory.newInstance();  //      XmlSerializer serializer = factory.newSerializer();          XmlSerializer serializer = Xml.newSerializer(); //由android.util.Xml创建一个XmlSerializer实例          StringWriter writer = new StringWriter();          serializer.setOutput(writer);   //设置输出方向为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();      }  
0 0
原创粉丝点击