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();
            }
        }
    }
  • 相关阅读:
    MybatisPlus自动填充公共字段的策略
    docker内的应用访问宿主机上的mysql和Redis
    Spingboot整合Redis,用注解(@Cacheable、@CacheEvict、@CachePut、@Caching)管理缓存
    集群中的session共享问题解决方案
    Java并发之原子性,有序性,可见性,以及Happen-Before原则
    Java NIO技术概述
    Java反射机制总结
    java线程以及定时任务
    java流概述以及文件读写示例
    CSS常用内容总结(二)
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7100880.html
Copyright © 2011-2022 走看看