`

dom4j创建xml和读取xml的demo

阅读更多

               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");

          }

}

分享到:
评论

相关推荐

    利用dom4j读写xml实例xmldemo

    简单的读取xml,利用dom4j读写xml实例xmldemo

    Dom4j_demo.rar_DEMO_dom4j de_dom4j demo_dom4j demo project_xml读

    使用dom4j解析xml,对xml进行读写操作

    dom4j demo 使用

    dom4j 非常好的读取xml的工具包 大家支持一下!

    dom4j操作xml的demo(分享)

    下面小编就为大家带来一篇dom4j操作xml的demo(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java 解析XML性能对比分析Demo

    Java 解析XML性能分析Demo。包含了DOM解析,SAX解析, JDOM解析,DOM4J解析,JAXB解析例子。

    dom4j.jar.jar

    XML用于保存及交换数据,与读取配置文件的类在同一包,或在WEB-INF(或其子目录下),// 读取配置文件获得一个输入流 InputStream is = Demo1.class.getResourceAsStream("/students.xml");// src目录下 // 1. 获得...

    android json与xml解析 例子 demo

    android json与xml解析 例子 demo 包含Json和xml解析 其中json包括解析带数组的和不带数组的; xml包括DOM解析和SAX解析

    PULL解析xml的demo

    通用性强,它会将XML文件的所有内容读取到内存中,然后使用DOM API遍历XML树、检索所需的数据; 优点:简单直观,但需要将文档读取到内存, 缺点:并不太适合移动设备; 2,SAX SAX是一个解析速度快并且占用内存少的...

    XMLDemo_java.rar_XMLDemo_java_java xml_sax_to write xml in java

    用JAVA实现的读取,写入XML的程序,实现了SAX和DOM两种方式。

    使用jaxp开发包中的SAX方式解析xml文档

    day02_xml *demo01.App1\App2\App3 使用jaxp开发包中的SAX方式解析xml文档,该方式只能读取文档 *demo4j01.App dom4j CURD XML *domo4j.ex 对dom4j 的封装例子

    js操作xml并动态生成网页

    从所给的xml文件中读取内容 动态生成web页面的控件 并完成验证 如果该项为必填项,那么在后面要用红色的*表示 按下Validate按钮之后完成页面输入内容验证,验证失败的控件底色为红色,并在页面上方显示错误信息 ...

    Tinyxml 源代码(VC6 & VS2005)

    TinyXML使用文档对象模型(DOM),这意味着XML数据被解析成一个可被浏览和操作的C++对象,然后它可以被写到磁盘或者另一个输出流中。你也可以把C++对象构造成一个XML文档然后把它写到磁盘或者另一个输出流中。 ...

    js操作xml例子包括对属性的操作

    经常用到对xml的操作,Java里面有dom和dom4j等工具类,但是Javascript就没有,所以自己写了一个,目前算作第一个版本吧。肯定还有很多地方需要改进,如果有需要用的朋友,可以把bug和需要完善改进的地方留言或评论。...

    springmvcdemo

    1. 解析xml:dom4j.jar 2. 解析json:json-lib.jar 3 URL Mapping: ControllerClassNameHandlerMapping 映射控制器 4 使用MultiActionController 5 所有service利用spring注入到controller中,利用注解 6 数据库连接...

    myBatisDemo.rar

    最近在学习mybatis源码,这是手写的一个关于mybatis查询的代码。里面使用了反射将resultSet的结果集设置到list的对应的对象中,使用了dom4j读取mapper.xml文件,以及executor,sqlsession的实现类。

    xmlRaed.zip

    java读取和写入xml文件,写入xml文件,读取xml文件内容的demo,该资源包含了java四种方式读取和写入xml文件的代码。

    PHP实现对xml的增删改查操作案例分析

    本文实例讲述了PHP实现对xml的增...$xmldom-&gt;load("demo2.xml"); //查询学生信息 $stus = $xmldom-&gt;getElementsByTagName("学生"); for ($i=0;$i&lt;$stus-&gt;length;$i++){ $stu = $stus-&gt;item($i); getxmlnode($stu,

    DemoUtils:一些帮助类

    9、读取Xml(Dom4j、Jdom) 10、反射(通过反射获取类中的方法、变量) 11、注解(注解的创建与使用、通过实例对象使用注解与反射获取其创建或更新的Sql语句) 12、使用预处理的方式进行数据库查询 13、数据库操作...

    Silverlight2.0功能展示Demo源码

    Silverlight2.0功能展示Demo源码 1、Silverlight(3) - 2.0控件之Border, Button, Calendar, Canvas, CheckBox, ComboBox 介绍 Silverlight 2.0 控件一览:Border, Button, Calendar, Canvas, CheckBox, ComboBox 2...

    锋利的jQuery书中源代码

    jQuery介绍--&gt;选择器--&gt;DOM操作--&gt;事件和动画--&gt;Ajax应用--&gt;插件--&gt;完整DEMO 本书循序渐进的对jQuery的各种方法和使用进行介绍,读者可以系统的掌握jQuery关于DOM操作、事件监听和动画、表单操作、AJAX以及插件方面...

Global site tag (gtag.js) - Google Analytics