首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAXB开发的技艺

2012-08-29 
JAXB开发的技巧大家经常都会遇到xml格式文档的开发,对于解析XML和封装XML格式,我们自然而然的会想到JAXB,J

JAXB开发的技巧
   大家经常都会遇到xml格式文档的开发,对于解析XML和封装XML格式,我们自然而然的会想到JAXB,JAXB允许以XML格式存储和读取数据,而不需要程序的类结构实现特定的读取XML和保存XML的代码。
以下是需要输出的XML文本格式


现在可以使用jdk自带的xjc命令来生成代码了,xjc的具体使用方面就不多说,大家可以自己看看它的帮助文档


package generated;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.OutputStream;import java.util.List;import javax.xml.bind.JAXB;public class Test {public static void main(String[] args) throws FileNotFoundException {marshal(new FileOutputStream("out.xml"));unmarshal(new FileReader("out.xml"));}private static void unmarshal(FileReader reader) {try {Books books = JAXB.unmarshal(reader, Books.class);System.out.println(books.getBook().size());System.out.println(books.getBook().get(0).getName());System.out.println(books.getBook().get(0).getAuthor());System.out.println(books.getBook().get(0).getPrice());} finally {try {reader.close();} catch (IOException e) {}}}private static void marshal(OutputStream output) {ObjectFactory factory = new ObjectFactory();Books books = factory.createBooks();List<Book> bookList = books.getBook();Book book = factory.createBook();book.setName("书名A");book.setAuthor("作者A");book.setPrice("价格A");bookList.add(book);book = factory.createBook();book.setName("书名B");book.setAuthor("作者B");book.setPrice("价格B");bookList.add(book);book = factory.createBook();book.setName("书名C");book.setAuthor("作者C");book.setPrice("价格C");bookList.add(book);try {JAXB.marshal(books, output);} finally {try {output.close();} catch (IOException e) {}}}}

热点排行