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();
            }
        }
    }
  • 相关阅读:
    vue axios的使用
    html5 css写出一个实心三角形和空心三角行
    弹出新页面并使整个旧页面背景变暗功能的实现代码
    radio 单选按钮 选中多个
    搭建脚手架cli2.x环境
    页面滚动条位置触发事件
    DataGridView行号发生变化 使用的事件
    eclipse git 忽略文件
    eclipse git 分享项目到GitHub上
    eclipse git 创建新分支 合并分支 删除分支
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7100880.html
Copyright © 2011-2022 走看看