首页 > 代码库 > Java对象生成Xml和解析Xml(Book)

Java对象生成Xml和解析Xml(Book)

XML 指可扩展标记语言(eXtensible Markup Language)。

XML 被设计用来传输和存储数据。

 

这里使用第三方包simple-xml-2.7.1.jar

 

以一个book对象为例,属性:

  ID,书名,作者列表,价格

 

对象book.java:

package com.newer.xml;import java.io.File;import org.simpleframework.xml.core.Persister;public class App {    public static void main(String[] args) {                toXml();//        toObject();    }    private static void toObject() {        // 输入流        File file = new File("b.xml");        // 持久化工具        Persister persister = new Persister();                // file ---> Object(Book.class)        try {            Book book = persister.read(Book.class, file);            System.out.println(book.toString());        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    private static void toXml() {        Book b1 = new Book("冰与火之歌", "123", 39);        b1.authors.add("乔治");        b1.authors.add("马丁");        b1.authors.add("马丁 2");        b1.authors.add("马丁 3");                //  DOM(文档对象模型)、SAX、simple-xml                // 持久化类        Persister persister = new Persister();                try {            persister.write(b1, new File("b.xml"));            persister.write(b1, System.out);                    } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

这里写入了b.xml文件,同时也写了控制台,方便查看,控制台输出如下:

技术分享

 

是不是和超文本语言HTML格式很像~

 

运行接口,解析功能文件App.java:

package com.newer.xml;import java.io.File;import org.simpleframework.xml.core.Persister;public class App {    public static void main(String[] args) {                toXml();//        toObject();    }    private static void toObject() {        // 输入流        File file = new File("b.xml");        // 持久化工具        Persister persister = new Persister();                // file ---> Object(Book.class)        try {            Book book = persister.read(Book.class, file);            System.out.println(book.toString());        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    private static void toXml() {        Book b1 = new Book("冰与火之歌", "123", 39);        b1.authors.add("乔治");        b1.authors.add("马丁");        b1.authors.add("马丁 2");        b1.authors.add("马丁 3");                //  DOM(文档对象模型)、SAX、simple-xml                // 持久化类        Persister persister = new Persister();                try {            persister.write(b1, new File("b.xml"));            persister.write(b1, System.out);                    } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

 

Java对象生成Xml和解析Xml(Book)