将javabean的成员变量序列化保存到xml文件中,用于存储数据到本地。
Book.java
1 package com.example.bean;
2
3 public class Book {
4
5 private String bookname;
6 private String author;
7 private String priceString;
8
9
10 @Override
11 public String toString() {
12 return "Book [bookname=" + bookname + ", author=" + author
13 + ", priceString=" + priceString + "]";
14 }
15
16 public String getBookname() {
17 return bookname;
18 }
19 public void setBookname(String bookname) {
20 this.bookname = bookname;
21 }
22 public String getAuthor() {
23 return author;
24 }
25 public void setAuthor(String author) {
26 this.author = author;
27 }
28 public String getPriceString() {
29 return priceString;
30 }
31 public void setPriceString(String priceString) {
32 this.priceString = priceString;
33 }
34
35 public Book(String bookname, String author, String priceString) {
36 super();
37 this.bookname = bookname;
38 this.author = author;
39 this.priceString = priceString;
40 }
41
42
43 }
MainActivity.java
1 package com.example.day_05xmlserilizer;
2
3 import java.io.File;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.util.ArrayList;
7 import java.util.List;
8
9 import org.xmlpull.v1.XmlSerializer;
10
11 import com.example.bean.Book;
12
13 import android.app.Activity;
14 import android.os.Bundle;
15 import android.util.Xml;
16 import android.view.Menu;
17 import android.view.MenuItem;
18
19 public class MainActivity extends Activity {
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.activity_main);
25
26 savebeantoxml();
27 }
28
29 private void savebeantoxml() {
30 Book book1 = new Book("浪潮之巅", "吴军", "30");
31 Book book2 = new Book("数学之美", "吴军", "20");
32
33 List<Book> bookList = new ArrayList<Book>();
34 bookList.add(book1);
35 bookList.add(book2);
36
37 XmlSerializer xs = Xml.newSerializer();
38 FileOutputStream fos = null;
39
40 File file = new File(getFilesDir(), "books.xml");
41
42
43 try {
44 fos = new FileOutputStream(file);
45 xs.setOutput(fos, "utf-8");
46 xs.startDocument("utf-8", true);
47 xs.startTag(null, "books");
48 for(Book book:bookList){
49 xs.startTag(null, "book");
50 //bookname节点
51 xs.startTag(null, "bookname");
52 xs.attribute(null, "id", "01");
53 xs.text(book.getBookname());
54 xs.endTag(null, "bookname");
55 //author节点
56 xs.startTag(null, "author");
57 xs.text(book.getAuthor());
58 xs.endTag(null, "author");
59 //price节点
60 xs.startTag(null, "price");
61 xs.text(book.getPriceString());
62 xs.endTag(null, "price");
63 xs.endTag(null, "book");
64 }
65 xs.endTag(null, "books");
66 xs.endDocument();
67 } catch (IllegalArgumentException e) {
68 e.printStackTrace();
69 } catch (IllegalStateException e) {
70 e.printStackTrace();
71 } catch (IOException e) {
72 e.printStackTrace();
73 }
74 }
75 }