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();
            }
        }
    }
  • 相关阅读:
    Java基础6
    多行文本框回车换行设置
    CentOS7系统配置国内yum源和epel源
    System Integrity Protection (SIP) iOS10.15安装软件提示文件损坏问题解决方法
    转载:Spring Boot 不使用默认的 parent,改用自己的项目的 paren
    微软Speech语音合成技术
    反编译工具
    线性链表的代码实现
    不一样的鸡汤,你有房吗?你有车吗?你有房车吗?
    递归,迭代和回调
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7100880.html
Copyright © 2011-2022 走看看