189 8069 5689

怎么在Java中将Bean与xml进行转换

这篇文章主要介绍了怎么在Java中将Bean与xml进行转换,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:

创新互联公司专注于鸡西梨树网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供鸡西梨树营销型网站建设,鸡西梨树网站制作、鸡西梨树网页设计、鸡西梨树网站官网定制、微信平台小程序开发服务,打造鸡西梨树网络公司原创品牌,更为您提供鸡西梨树网站排名全网营销落地服务。

XML




java是傻逼
java
xml
10


c++程序设计
C++
c
10

Books类

import java.util.ArrayList;
import java.util.List;
import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject;
@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);
  }
}

Book类

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;
@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;
  }
}

测试类:

import java.util.ArrayList;
import java.util.List;
import org.nuxeo.common.xmap.XMap;
public class XmapTest {
  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>();
      System.out.println(xmp.asXmlString(books, "UTF-8", filters, true));
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

运行上面这个类就可以生成开头所看见的那个XML的内容

解析xml

xmap.register(Books.class);
      URL url = new File("book.xml").toURL();
      InputStream in = new FileInputStream(new File("book.xml"));
      Object[] result = (Object[]) xmap.loadAll(in);
Books books=(Books)result[0];

到此这篇关于怎么在Java中将Bean与xml进行转换的文章就介绍到这了,更多相关内容请搜索创新互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持创新互联!


本文名称:怎么在Java中将Bean与xml进行转换
分享网址:http://cdxtjz.com/article/gpossd.html

其他资讯