麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

Java Bean與xml互相轉換的方法分析

2024-07-14 08:43:15
字體:
來源:轉載
供稿:網友

本文實例講述了Java Bean與xml互相轉換的方法。分享給大家供大家參考,具體如下:

XML和Java Bean互相轉換是一個很有用的功能,因為兩者有著前后合作的關系,但解析的過程比較痛苦。下面介紹如何進行XML和Java Bean的互相轉換。

最近項目中用到了xml和java bean的轉換

用到xml的時候我們需要遍歷解析。。。然后將解析的值放入聲明好的java bean,過程很痛苦,結果很美好

我們能不能直接從xml轉化到java bean呢,或者直接成java bean轉化到xml呢?

答案是OK的

使用jar包:org.nuxeo.common.xmap

寫個小例子

XML

<?xml version="1.0" encoding="UTF-8"?><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>

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;@XObjectpublic 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];

數據就完全autowire by name進入到了bean,某些情況下很好用(xml很整齊,每個節點的內容都一樣,固定)

XML和Java Bean互相轉換就此實現。

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久av | 精品一区二区三区免费毛片 | 黄色视屏免费看 | 成人午夜免费看 | 久久国产一二区 | 久久精品无码一区二区日韩av | 视频一区二区三区视频 | 久久我不卡 | 亚洲精品午夜国产va久久成人 | 国产中文99视频在线观看 | 久久精品中文字幕一区二区 | 在线观看免费视频麻豆 | 热99精品视频 | 成人毛片免费 | 成人偷拍片视频在线观看 | 国产精品成人av片免费看最爱 | 国产精品刺激对白麻豆99 | 亚洲小视频在线观看,com | 天天色狠狠干 | 99爱视频在线观看 | 国产激情精品一区二区三区 | 欧美视频一二三区 | 欧美成人精品一区二区 | 毛片免费观看完整版 | 精品一区二区免费视频视频 | 久久亚洲一区二区三区成人国产 | 欧美激情猛片xxxⅹ大3 | 自拍偷拍999 | 精品一区二区久久久久久按摩 | 国产精品99久久久久久大便 | 成人免费毛片在线观看 | 国产99久久久国产精品下药 | 精品黑人一区二区三区国语馆 | 国产一级毛片国产 | 亚洲一级簧片 | 久草在线高清 | 国产精品久久久久久久久久10秀 | 精品久久久久99 | 91重口视频 | 日本道中文字幕 | av免费在线观看免费 |