xml和java Bean的直接转换,Xmap
来源:互联网 发布:破解软件网站大全 编辑:程序博客网 时间:2024/06/06 15:35
- package test;
- import java.util.ArrayList;
- import java.util.List;
- import org.nuxeo.common.xmap.annotation.XNode;
- import org.nuxeo.common.xmap.annotation.XNodeList;
- import org.nuxeo.common.xmap.annotation.XObject;
- /**
- * Book 实体对象,此处用XMap注解
- * @author Administrator
- *
- */
- @XObject
- public class Book {
- @XNode("title")
- private String title;
- @XNode("@no")
- private String no;
- @XNodeList(value = "subject", type = ArrayList.class, componentType = String.class)
- private List<String> subjects;
- @XNode("price")
- private int price;
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- public List<String> getSubjects() {
- return subjects;
- }
- public void setSubjects(List<String> subjects) {
- this.subjects = subjects;
- }
- public int getPrice() {
- return price;
- }
- public void setPrice(int price) {
- this.price = price;
- }
- public String getNo() {
- return no;
- }
- public void setNo(String no) {
- this.no = no;
- }
- }
- /**==================================================**/
- package test;
- import java.util.ArrayList;
- import java.util.List;
- import org.nuxeo.common.xmap.annotation.XNodeList;
- import org.nuxeo.common.xmap.annotation.XObject;
- /**
- * 图书对象集合类
- * @author zhouyu
- *
- */
- @XObject(value = "books")
- public class Books {
- @XNodeList(value = "book", type = ArrayList.class, componentType = Book.class)
- private List<Book> book;
- public List<Book> getBook() {
- return book;
- }
- public void setBook(List<Book> book) {
- this.book = book;
- }
- public void addBook(Book b){
- if(book==null){
- book=new ArrayList<Book>();
- }
- book.add(b);
- }
- }
- /**==================================================**/
- package test;
- import java.util.ArrayList;
- import java.util.List;
- import org.nuxeo.common.xmap.XMap;
- import com.io.IoUtils;
- /**
- * 从对象到xml转换
- * @author zhouyu
- *
- */
- public class ObjectToXmlDemo {
- public static void main(String[] args) {
- try {
- //声明一组书的根节点
- Books books=new Books();
- //声明一本书
- Book book=new Book();
- //书的类型
- List<String> sj = new ArrayList<String>();
- sj.add("java");
- sj.add("xml");
- //设置书节点的属性
- book.setPrice(10);
- book.setTitle("java是傻逼");
- book.setSubjects(sj);
- book.setNo("1");
- //将书节点添加到跟节点
- books.addBook(book);
- //声明一本书
- Book book2=new Book();
- //书的类型
- List<String> sj2=new ArrayList<String>();
- sj2.add("C++");
- sj2.add("c");
- //设置书节点的属性
- book2.setPrice(10);
- book2.setTitle("c++程序设计");
- book2.setSubjects(sj2);
- book2.setNo("2");
- //将书节点添加到跟节点
- books.addBook(book2);
- XMap xmp = new XMap();
- xmp.register(Books.class);
- List<String> filters = new ArrayList<String>();
- String content = xmp.asXmlString(books, "UTF-8", filters, true);
- IoUtils.WriteFile(content, "UTF-8", "books.xml");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- /**==================================================**/
- package test;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStream;
- import java.net.URL;
- import org.nuxeo.common.xmap.XMap;
- public class XmlToObjectDemo {
- public static void main(String[] args) {
- try {
- XMap xmp = new XMap();
- xmp.register(Books.class);
- //URL url = new File("books.xml").toURL();
- InputStream in = new FileInputStream(new File("books.xml"));
- Object[] result = (Object[]) xmp.loadAll(in);
- Books books = (Books) result[0];
- for(int i = 0 ; i < books.getBook().size() ; i++)
- {
- Book book = books.getBook().get(i);
- System.out.println(book.getNo());
- System.out.println(book.getPrice());
- System.out.println(book.getTitle());
- System.out.println(book.getSubjects().get(i));
- }
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- /**==================================================**/
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <books>
- <book no="1">
- <title>java是傻逼</title>
- <subject>java</subject>
- <subject>xml</subject>
- <price>10</price>
- </book>
- <book no="2">
- <title>c++程序设计</title>
- <subject>C++</subject>
- <subject>c</subject>
- <price>10</price>
- </book>
- </books>
本文转自:http://blog.csdn.net/xiaoyu411502/article/details/5566398
0 0
- xml和java Bean的直接转换,Xmap
- xml和java Bean的直接转换,Xmap
- 使用XMAP完成JavaBean和XML之间转换
- XMap 简易的Java-xml映射工具类库
- 怎样转换XML和Java Bean
- java bean和xml相互转换
- java bean和xml相互转换
- java和xml相互转换,java bean转xml文件
- Xml和bean之间的相互转换
- xml 与bean 转换 java
- 利用Xstream注解实现xml和java bean之间的转换
- java bean和json之间的转换
- Java Map和Bean之前的转换
- Map 和 java Bean 的相互转换
- JSON与JAVA数据的转换(bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean)
- JAXB2完成java bean到xml的相互转换
- JAXB2完成java bean到xml的相互转换
- JAB2完成Java bean到xml的相互转换
- viridian
- [ASP.NET-II] SQL Server 2008创建数据库 创建表 查询表I
- kali vmware tools 安装
- 处理器厂来袭 独立型无线充电IC商力守Tx版图
- 移动互联网教育领域或将出现新的风口?
- xml和java Bean的直接转换,Xmap
- SpringObjectFactory.java:220:-1问题出现的原因及解决办法
- JavaScript复习
- UVa 10025 The ? 1 ? 2 ? ... ? n = k problem
- Form 开发步骤
- 使用javascript调用webservice
- 关于Spring config.properties的报错解决方案
- mysql 截取指定的两个字符串之间的内容(locate,substring)
- 为何在一个fork的子进程分支中使用_exit函数而不使用exit函数?