dom4j创建xml和读取xml的demo

本文通过一个简单的狗剩demo展示了如何使用dom4j库创建和解析XML文件,包括添加注释、元素和属性,并提供了解析XML文件的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               dom4j简介:  dom4j是一个易于使用的,用于XML的开放源代码库,在Java平台上使用Java集合框架并完全支持DOM和SAX使用XPath和XSLT。

                     闲来无事,用dom4j写了一个解析xml和生成xml的demo

 

 /**

 * Dom4j创建及解析xml文件

 * @author gaoq

 * @date 2015-5-12 下午6:05:48

 */

package com.test.transport.service;

 

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.util.List;

 

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

 

public class XMLService {

    public Document getDocument(){

    Document doc = DocumentHelper.createDocument();

    doc.addComment("这是一个简单的狗剩demo");

   

    Element root = doc.addElement("Dogs");

    Element d1 = root.addElement("dog");

    d1.addAttribute("color", "yellow");

    d1.addAttribute("height", "20");

   

    Element d2 = root.addElement("dog");

    d2.addAttribute("color", "red");

    d2.addAttribute("height", "18");

    return doc;

    }

    public void saveDocument(Document doc,String filepath){

        OutputFormat format = OutputFormat.createPrettyPrint();

        XMLWriter writer = null;

        try {

            writer = new XMLWriter(new FileWriter(new File(filepath)), format);

            writer.write(doc);

            writer.flush();

            writer.close();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    public static void main(String args[]){

        //生产xml文件

                  creatXML();

        //解析xml文件

                    readXml();

    }

    public static void readXml(){

              File file = new File("E:\\9tuo\\workspace\\test\\狗剩.xml");

              SAXReader sax = new SAXReader();

              Document doc = null;

              try {

                         doc = sax.read(file);

                          List<Element> ele = doc.selectNodes("//Dogs/dog");

                         for (Element s : ele) {

                                  List<Attribute> e = s.attributes();

                                      for(Attribute el : e){

                                             System.out.println(el.getText().trim()+"===="+el.getName());

           

                               }

                          }

                   } catch (DocumentException e) {

                                        // TODO Auto-generated catch block

                                         e.printStackTrace();

                    }

   

    }

         private static void creatXML() {

                      XMLService service = new XMLService();

                      Document doc = service.getDocument();

                       service.saveDocument(doc, "狗剩.xml");

          }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值