码迷,mamicode.com
首页 > 其他好文 > 详细

xml文件解析和序列化

时间:2016-06-05 12:23:44      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:


XmlPullParser parser = Xml.newPullParser(); //创建一个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; } @Override public String serialize(List<Book> books) throws Exception { // XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); // XmlSerializer serializer = factory.newSerializer(); XmlSerializer serializer = Xml.newSerializer(); //创建一个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(); } }

  转载:http://blog.csdn.net/liuhe688/article/details/6415593

  1.  XmlPullParser parser = Xml.newPullParser(); //由android.util.Xml创建一个XmlPullParser实例  
  2.         parser.setInput(is, "UTF-8");               //设置输入流 并指明编码方式  
  3.   
  4.         int eventType = parser.getEventType();  
  5.         while (eventType != XmlPullParser.END_DOCUMENT) {  
  6.             switch (eventType) {  
  7.             case XmlPullParser.START_DOCUMENT:  
  8.                 books = new ArrayList<Book>();  
  9.                 break;  
  10.             case XmlPullParser.START_TAG:  
  11.                 if (parser.getName().equals("book")) {  
  12.                     book = new Book();  
  13.                 } else if (parser.getName().equals("id")) {  
  14.                     eventType = parser.next();  
  15.                     book.setId(Integer.parseInt(parser.getText()));  
  16.                 } else if (parser.getName().equals("name")) {  
  17.                     eventType = parser.next();  
  18.                     book.setName(parser.getText());  
  19.                 } else if (parser.getName().equals("price")) {  
  20.                     eventType = parser.next();  
  21.                     book.setPrice(Float.parseFloat(parser.getText()));  
  22.                 }  
  23.                 break;  
  24.             case XmlPullParser.END_TAG:  
  25.                 if (parser.getName().equals("book")) {  
  26.                     books.add(book);  
  27.                     book = null;      
  28.                 }  
  29.                 break;  
  30.             }  
  31.             eventType = parser.next();  
  32.         }  
  33.         return books;  
  34.     }  
  35.       
  36.     @Override  
  37.     public String serialize(List<Book> books) throws Exception {  
  38. //      XmlPullParserFactory factory = XmlPullParserFactory.newInstance();  
  39. //      XmlSerializer serializer = factory.newSerializer();  
  40.           
  41.         XmlSerializer serializer = Xml.newSerializer(); //由android.util.Xml创建一个XmlSerializer实例  
  42.         StringWriter writer = new StringWriter();  
  43.         serializer.setOutput(writer);   //设置输出方向为writer  
  44.         serializer.startDocument("UTF-8"true);  
  45.         serializer.startTag("""books");  
  46.         for (Book book : books) {  
  47.             serializer.startTag("""book");  
  48.             serializer.attribute("""id", book.getId() + "");  
  49.               
  50.             serializer.startTag("""name");  
  51.             serializer.text(book.getName());  
  52.             serializer.endTag("""name");  
  53.               
  54.             serializer.startTag("""price");  
  55.             serializer.text(book.getPrice() + "");  
  56.             serializer.endTag("""price");  
  57.               
  58.             serializer.endTag("""book");  
  59.         }  
  60.         serializer.endTag("""books");  
  61.         serializer.endDocument();  
  62.           
  63.         return writer.toString();  
  64.     }  
  65. }  

xml文件解析和序列化

标签:

原文地址:http://www.cnblogs.com/fengchuxiaodai/p/5560323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!