JAXB的使用
来源:互联网 发布:飞机航班软件 编辑:程序博客网 时间:2024/06/14 14:28
jaxb:Java Architecture for XML Binding
1.Bind the Schema
将XSD文件解析成javabean
在java1.5一下的版本 需要下载JAXB
在java1.6中,java已经将JAXB集成进来
此时我们只要进入到%JAVA_HOME%/bin目录下执行命令:xjc books.xsd -p test.jaxb -d work
其中参数-p表示Package -d表示生产文件的Directry;
之后便会生成javabean对象
2、Unmarshalling an XML document 解组XML文档
javax.xml.bind.JAXBContext 是java1.6新加进来的包
JAXBContext jc = JAXBContext.newInstance("test.jaxb"); //test.jaxb是XML Schema所生成的javaBean所在的包名
Unmarshaller unmarshaller = jc.createUnmarshaller(); //创建借组程序对象
Collection collection= (Collection) unmarshaller.unmarshal(new File( "books.xml")); //指定借组对象 其中Collection对象是bind Schema都会生成的一个类
从该类派生的对象可以获取根节点元素,再从根节点元素获取各个子节点 从而可以获得各个节点的值
List<BookType> bookList = booksType.getBook();
for( int i = 0; i < bookList.size();i++ ) { System.out.println("Book details " ); test.jaxb.BookType book =(test.jaxb.BookType) bookList.get(i); System.out.println("Item id: " + book.getItemId()); System.out.println("Book Name: " + book.getName().trim()); System.out.println("Book ISBN: " + book.getISBN()); System.out.println("Book Price: " + book.getPrice().trim()); System.out.println("Book category: " + book.getBookCategory()); System.out.println("Book promotion: " + book.getPromotion(). getDiscount().trim()); System.out.println("No of Authors " + book.getAuthors().getAuthorName().size()); BookType.AuthorsType authors = book.getAuthors(); for (int j = 0; j < authors.getAuthorName().size();j++) { String authorName = (String) authors.getAuthorName().get(j); System.out.println("Author Name " + authorName.trim()); } System.out.println(); }
效果 :
Book details Item id: 999Book Name: Learning JAXBBook ISBN: 123445Book Price: 34 $Book category: otherBook promotion: 10% on this book if purchased by March 2003No of Authors 1Author Name Jane DoeBook details Item id: 129Book Name: Java Webservices today and BeyondBook ISBN: 522965Book Price: 29 $Book category: magazineBook promotion: Buy one get Learning webservices Part 1 freeNo of Authors 2Author Name John BrownAuthor Name Peter T.
- JAXB的使用
- JAXB的使用
- jaxb 的使用介绍[转载]
- JAXB注解的使用详解
- JAXB注解的使用详解
- JAXB 使用
- JAXB使用
- jaxb使用
- JAXB使用
- jaxb 使用遇到的问题解决的方案
- JAXB的使用(快速入门)
- JAXB的使用陷阱,CPU居高不下
- 使用jaxb-xjc的xjc和schemagen
- 使用jaxb-xjc的xjc和schemagen
- jaxb经常使用的注解标签
- jaxb的@xmlSchema注解使用没有效果
- jaxb 使用 之 marshal
- jaxb 使用之 unmarshall
- list how many blocks contain data
- Python unittest 模块
- 独立完成项目---音乐播放盒
- 判断该年是否为闰年,并根据给定的月份判断该月有多少天
- SQL Server虚拟化并非明智之举
- JAXB的使用
- show unused blocks and bytes
- ubuntu中安装mpich2出现问题
- page117
- 为什么又是404?让人情何以堪
- erlang, 支付宝, 以及其他
- CALL TRANSACTION - bdc_options
- Windows 消息大全
- undefined reference to 'pthread_create'问题解决