zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    SD卡测试
    测试人员可能会遇到的问题
    HDU 1024 Max Sum Plus Plus
    HDU 1176 免费馅饼
    HDU 1257 最少拦截系统
    HDU 1087 Super Jumping! Jumping! Jumping!
    poj 1328 Radar Installation
    poj 1753 Flip Game
    HDU 1003 Max Sum
    HDU 5592 ZYB's Premutation(BestCoder Round #65 C)
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7100880.html
Copyright © 2011-2022 走看看