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"));
  • 相关阅读:
    [置顶] location.href你真的会用了?
    Hive HA使用说明
    十进制转换为任意进制及操作符重载
    《重构》学习总结
    linux kill进程和子进程小trick
    express for node 路由route几种实现方式的思考
    BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 总结
    Can rename table but can not truncate table
    HBase
    链表解说和基本操作练习附代码
  • 原文地址:https://www.cnblogs.com/newlangwen/p/7708783.html
Copyright © 2011-2022 走看看