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();
            }
        }
    }
  • 相关阅读:
    对pg_latch.c 的来源探索
    对PostgreSQL的执行计划的初步学习
    21个css和Ajax表格
    23种设计模式有趣诠释
    Spket IDE, Ext开发人员的紫色匕首~
    Sql Server 2008 Reporting Services系列(一)
    C#积累(二)——ASP.NET的Session会加锁
    在TSQL语句中访问远程数据库(openrowset/opendatasource/openquery)
    ASP.NET视图的保存与加载解析(一)——视图的保存
    C#积累(一)——扩展方法就近原则和匿名类型的成员探讨
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7100880.html
Copyright © 2011-2022 走看看