import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;

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;
/**
 *
 * @author Administrator
 */
public class Main {
    
  /** Creates a new instance of Main */
  public Main() {
  }
    
  public static void main(String[] args) {
// TODO Auto-generated method stub
  Main user = new Main();
//user.newXML();
  user.newXML();
  }
    
  public void newXML(){
  /**
  * users.xml
  */
  Document doc = DocumentHelper.createDocument(); //users.xml
    
    
  /**
  * 根元素 users
  */
  Element users = doc.addElement("users"); //根元素 users
  doc.setRootElement(users);
  users.addComment("the xml document about some login system information of users");
    
    
  /**
  * 根元素 users 下的子元素 user
  */
  Element user = users.addElement("user"); // 新增 users 的一个子元素 user
  user.addAttribute("id","1"); //增加user的一个属性,并设置此属性值
  Element username = user.addElement("username"); // 新增 user 元素的子元素 username
  username.setText("yy"); //设置 username 的值
  Element password = user.addElement("password"); // 新增 user 元素的子元素 password
  String crlf=System.getProperty("line.separator");
  password.setText("1234"+crlf+"5678"); //设置 password 的值
    
  /**
  * 通过 org.dom4j.io.OutputFormat 来设置XML文档输出格式
  */
  OutputFormat format = OutputFormat.createPrettyPrint(); //设置XML文档输出格式
  format.setEncoding("GB2312"); //设置XML文档的编码类型
// format.setSuppressDeclaration(true);
// format.setIndent(true); //设置是否缩进
// format.setIndent(" "); //以空格方式实现缩进
// format.setNewlines(true); //设置是否换行
    
    
  /**
  * 通过 org.dom4j.io.XMLWriter 创建XML文档(写)
  */
  try {
  XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File("a.xml")),format);
  xmlWriter.write(users);
  xmlWriter.close();
  } catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
  e.printStackTrace();
  } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
  e.printStackTrace();
  }catch (IOException e) {
// TODO Auto-generated catch block
  e.printStackTrace();
  }
  }
    
}

 
 

dom4j创建格式化的xml文件的更多相关文章

  1. 使用dom4j创建和解析xml文件

    使用dom4j创建和解析xml文件 在项目开发中,我们经常会遇到xml文件的创建和解析从别人接口得到的xml文件,而我们最常使用的组件是dom4j. 下面我就以代码来讲解一下如何使用dom4j来创建x ...

  2. dom4j生成和解析xml文件

    dom4j生成和解析xml文件 要生成和解析如下格式的xml文件: <?xml version="1.0" encoding="UTF-8"?> & ...

  3. xml解析之使用dom4j的api对xml文件进行CRUD(二)

    在使用dom4j的api对xml文件进行CRUD(一)见博客http://blog.csdn.net/qq_32059827/article/details/51524330的基础上,再对做一次练习. ...

  4. 在C#中创建和读取XML文件

    1.创建简单的XML文件 为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下: 这样会在C盘根目录下创建data2.xml文件,文件内容为 using ...

  5. 自动帮助创建android资源xml文件的网站

    自动帮助创建android资源xml文件的网站 http://android-holo-colors.com/ stack overflow上一个seekbar的例子: http://stackove ...

  6. Java 使用Dom4j和JFileChooser实现xml文件的自主选择路径导出

    直接来个简单的例子,大家一看便知. Document doc=DocumentHelper.createDocument();//创建document Element rootElement=doc. ...

  7. 使用dom4j创建和解析xml

    之前工作中用到了,相信写java的都会碰到xml,这里写了两个方法,创建和解析xml,废话不多说,直接上代码 package xml; import java.io.File; import java ...

  8. dom4j创建和解析xml文档

    DOM4J解析  特征: 1.JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能. 2.它使用接口和抽象基本类方法. 3.具有性能优异.灵活性好.功能强大和极端易用的特点. 4.是一个开 ...

  9. DOM、SAX、JDOM、DOM4J以及PULL在XML文件解析中的工作原理以及优缺点对比

    1. DOM(Document Object Model)文档对象模型1. DOM是W3C指定的一套规范标准,核心是按树形结构处理数据,DOM解析器读入XML文件并在内存中建立一个结构一模一样的&qu ...

随机推荐

  1. delphi 网络函数

    Delphi网络函数 unit net; interfaceusessysutils,windows,dialogs,winsock,classes,comobj,wininet; //得到本机的局域 ...

  2. 设计模式之Builder模式

    一.感性认识 二.Builder模式 1.定义 一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示.即构建过程相同,但是子部件却不相同. 2.结构说明 Builder: 创建者接口 ...

  3. sql server 数据库 数据DateTime 转mysql

    首先将sql server  DateTime 转换为varchar(50) 然后更新转换过的 DateTime字段, UPDATE 表名 SET LastUpdateTime=CONVERT(VAR ...

  4. BZOJ 2661: [BeiJing wc2012]连连看 费用流

    2661: [BeiJing wc2012]连连看 Description 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规则是,给出一个闭 ...

  5. Windows X64 Patch Guard

    先简单介绍下PatchGuard ,摘自百度百科 PatchGuard就是Windows Vista的内核保护系统,防止任何非授权软件试图“修改”Windows内核,也就是说,Vista内核的新型金钟 ...

  6. Arraylist和Vector的区别与HashMap和Hashtable的区别

    1.ArrayList和HashMap都是线程异步的,所以它们的特点是效率高,但是安全性低: 2.Vector和Hashtable都是线程同步的,所以它们的特点是效率低,但是安全性高.

  7. ios开发 ad hoc

    iOS证书分2种,1种是开发证书,用来给你(开发人员)做真机测试的:1种是发布证书,发布证书又分发布到app store的(这里不提及)和发布测试的ad hoc证书. 那ad hoc证书和开发证书区别 ...

  8. JLINK固件,JLINK驱动和JLINK硬件版本之间的关系,以及固件升级方法

    初学者容易在这几个问题上面犯迷糊,这里简单的说说.   1. JLINK硬件版本首先说JLINK的硬件版本有V7,V8和V9,相信这一点大家应该都没问题,那怎么看自己手头的JLINK是哪个硬件版本呢, ...

  9. 改变dijit的长度的心得

    改变dijit的长度要进入到里面改 如dijit/form/Select   (以table的方式来组合控件) 改变的时候,先找到dijitButtonContent 然后在后面样式文件里写就可以了 ...

  10. MAC的一些实用

    重置Dock, Launchpad defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock;