您的位置:首页 > 其它

005_01XML_Serilizer

2015-05-19 23:39 78 查看
将javabean的成员变量序列化保存到xml文件中,用于存储数据到本地。
Book.java


package com.example.bean;

public class Book {

private String bookname;
private String author;
private String priceString;

@Override
public String toString() {
return "Book [bookname=" + bookname + ", author=" + author
+ ", priceString=" + priceString + "]";
}

public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPriceString() {
return priceString;
}
public void setPriceString(String priceString) {
this.priceString = priceString;
}

public Book(String bookname, String author, String priceString) {
super();
this.bookname = bookname;
this.author = author;
this.priceString = priceString;
}

}


MainActivity.java


package com.example.day_05xmlserilizer;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlSerializer;

import com.example.bean.Book;

import android.app.Activity;
import android.os.Bundle;
import android.util.Xml;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

savebeantoxml();
}

private void savebeantoxml() {
Book book1 = new Book("浪潮之巅", "吴军", "30");
Book book2 = new Book("数学之美", "吴军", "20");

List<Book> bookList = new ArrayList<Book>();
bookList.add(book1);
bookList.add(book2);

XmlSerializer xs = Xml.newSerializer();
FileOutputStream fos = null;

File file = new File(getFilesDir(), "books.xml");

try {
fos = new FileOutputStream(file);
xs.setOutput(fos, "utf-8");
xs.startDocument("utf-8", true);
xs.startTag(null, "books");
for(Book book:bookList){
xs.startTag(null, "book");
//bookname节点
xs.startTag(null, "bookname");
xs.attribute(null, "id", "01");
xs.text(book.getBookname());
xs.endTag(null, "bookname");
//author节点
xs.startTag(null, "author");
xs.text(book.getAuthor());
xs.endTag(null, "author");
//price节点
xs.startTag(null, "price");
xs.text(book.getPriceString());
xs.endTag(null, "price");
xs.endTag(null, "book");
}
xs.endTag(null, "books");
xs.endDocument();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: