dom4j读写xml简单demo

package com.protocol;

import java.io.*;
import java.util.List;
import org.dom4j.*;
import org.dom4j.io.*;

public class Dom4jDemo {

    public void createXml(String fileName) {

        DocumentFactory factory = new DocumentFactory();
        Document document = factory.createDocument();
        Element root = document.addElement("root");
        for(Integer i=0; i < 2; ++i)
        {
            Element book = root.addElement("book");
            book.addAttribute("id",i.toString());
            book.addAttribute("name","bookname");

            Element author = book.addElement("author");
            author.setText("dalangge");

            Element price = book.addElement("price");
            price.setText("15");
        }

        try {
            FileWriter fw = new FileWriter(fileName);
            OutputFormat format = new OutputFormat("  ",true,"gb2312");
            XMLWriter writer = new XMLWriter(fw,format);
            writer.write(document);
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void parserXml(String fileName) {
        try {
            File f = new File(fileName);
            InputStream in = new FileInputStream(f);
            SAXReader reader = new SAXReader();
            Document doc = reader.read(in);
            Element root = doc.getRootElement();
            readNode(root);
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

    @SuppressWarnings("unchecked")
    public void readNode(Element root) {
        if (root == null) return;

        System.out.println(root.getName()+":"+(String)root.getData());

        // 获取属性
        List<Attribute> attrs = root.attributes();
        if (attrs != null && attrs.size() > 0) {
            for (Attribute attr : attrs) {
                System.out.println(attr.getName() + ": " + attr.getValue());
            }
        }
        // 获取他的子节点
        List<Element> childNodes = root.elements();
        for (Element e : childNodes) {
            readNode(e);
        }
    }

}

时间: 2024-10-23 16:22:55

dom4j读写xml简单demo的相关文章

使用dom4j 读写xml文件

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件. String fileName="D:\\version.xml"; File inputXML=new File(fileName); //使用 SAXReader 解析 XML 文档 version.xml SAXReader saxReader=new SAXReader();

dom4j读写XML文件

XML文件格式: <?xml version="1.0" encoding="UTF-8"?> <company> <employee name="zhangsan" value="张三"/> <employee name="lisi" value="李四"/> <employee name="wangwu" va

DOM4J读写XML

需要JAR包:dom4j-1.6.1.jar import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper;

dom4j操作xml的demo

package com.cn.shop.util; import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.util.Iterator;import java.util.List; import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;i

java读写hdfs简单demo

环境:eclipse + eclipse hadoop插件, hadoop + rhel6.4 package test; import java.io.IOException; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.ha

Dom4j解析XML基本操作

Dom4j 是一个易用的.开源的库,用于 XML , XPath 和 XSLT .它应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM , SAX 和 JAXP . 要使用dom4j读写XML文档,需要先下载dom4j包 dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.

Java读写xml文件的一些经验(使用dom4j)

说来惭愧,给很多人说过怎么用Java读写xml,但是自己上手做的很少.这篇博客里面简单总结一下. 据网上很多文章介绍,dom4j是一种常用的xml读写API.不过用的时候首先要注意第一个问题:如果在Bing.com里搜索dom4j,排在第一名的是:http://www.dom4j.org/ 很遗憾,这个域名和dom4j没有任何关系,其在Sourceforge上的主页是:http://sourceforge.net/projects/dom4j/ ,我这里下载的是稳定版,将dom4j-1.6.1.

Java 模拟servlet执行、DTD约束、Schema约束、dom4j解析(读写xml)

模拟servlet执行 浏览器请求WEB服务器上的资源,WEB服务器返回给浏览器 浏览器的入口不同(访问路径),访问的资源也不同. 我们需要使用xml约束(DTD或schema);为了获得xml的内容,我们需要使用dom4j进行解析. XML(不同路径(/hello)执行不同的资源( HeIIoMyServlet)) XML可扩展的标记语言  标签可自定义的 包下创建xml 文件   new → other  →  XMLFile 粘贴web-app_ 2_ 3.dtd文件 复制web-app_

C# 读写XML文件最简单方法

C#史上最简单读写xml文件方式,创建控制台应用程序赋值代码,就可以运行,需要改动,请自行调整 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace ConsoleApp1 { class Program { public cons