zoukankan      html  css  js  c++  java
  • java dom4j xml生成,解析

    1. 用Java代码生成xml文档

    package com.test.dom;
    
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;
    
    public class Dom4jDemo {
    
        public static void main(String[] args) throws IOException {
            Document doc = DocumentHelper.createDocument();
            Element root = DocumentHelper.createElement("books");
    
            doc.setRootElement(root);
            root.addAttribute("id", "001");
            Element bookElement = root.addElement("book");
            Element titleElement = bookElement.addElement("title");
            titleElement.setText("Harry Potter");
    
            Element authorElement = bookElement.addElement("author");
            authorElement.setText("J K. Rowling");
    
            // 输出到控制台中
            XMLWriter xmlWriter = new XMLWriter();
            xmlWriter.write(doc);
    
            // 把生成的xml文档存放在硬盘上 true代表是否换行
            OutputFormat format = new OutputFormat("    ", true);
            format.setEncoding("GBK");// 设置编码格式
            XMLWriter fileXmlWriter = new XMLWriter(new FileOutputStream("e:/books.xml"), format);
    
            fileXmlWriter.write(doc);
            fileXmlWriter.close();
        }
    }

    xml结构

    <?xml version="1.0" encoding="GBK"?>
    <books id="001">
        <book>
            <title>Harry Potter</title>
            <author>J K. Rowling</author>
        </book>
    </books>

     2. 解析xml

       从String中获取

    String xmlStr = "<books>......</books>";  
    Document document = DocumentHelper.parseText(xmlStr); 

       从文件中获取

    //创建SAXReader对象  
     SAXReader reader = new SAXReader();  
    //读取文件 转换成Document  
      Document document = reader.read(new File("books.xml"));
  • 相关阅读:
    快速排序?
    算法和数据结构?
    渲染一个react?
    移动端兼容适配?
    PWA全称Progressive Web App,即渐进式WEB应用?
    InnoDB一棵B+树可以存放多少行数据?
    移动端首屏优化?
    InnoDB什么时候会锁表?
    数组去重,多种方法?
    如何处理异形屏iphone X?
  • 原文地址:https://www.cnblogs.com/newlangwen/p/7708783.html
Copyright © 2011-2022 走看看