您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在Java中將Bean與xml進行轉換,此處通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考價值,需要的朋友可以參考下:
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; @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 { //聲明一組書的根節(jié)點 Books books=new Books(); //聲明一本書 Book book=new Book(); //書的類型 List< String> sj=new ArrayList< String>(); sj.add("java"); sj.add("xml"); //設置書節(jié)點的屬性 book.setPrice(10); book.setTitle("java是傻逼"); book.setSubjects(sj); book.setNo("1"); //將書節(jié)點添加到跟節(jié)點 books.addBook(book); //聲明一本書 Book book2=new Book(); //書的類型 List< String> sj2=new ArrayList< String>(); sj2.add("C++"); sj2.add("c"); //設置書節(jié)點的屬性 book2.setPrice(10); book2.setTitle("c++程序設計"); book2.setSubjects(sj2); book2.setNo("2"); //將書節(jié)點添加到跟節(jié)點 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進行轉換的文章就介紹到這了,更多相關內容請搜索億速云以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。