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. Pytho中两种方式导入模块的差别

    1.使用import module,只是把模块导入,访问模块中的函数名或者是属性是必须使用点运算符(.)来访问,否则直接访问会提示找不到这些函数或者属性. 2.使用from numpy import ...

  2. 在Delphi中实现动画窗口

    Windows下有一个函数AnimateWindow,在Delphi自带的Win32 API Help中是找不到的.你可以在Delphi的编辑器中输入windows.等待代码向导出来,继续输入Anim ...

  3. Javascript 正则表达式_3

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  4. 使用Visio进行UML建模

    http://www.qdgw.edu.cn/zhuantiweb/jpkc/2009/rjkf/xmwd/Visio_UmlModel.htm#_Toc80417837 内容提纲: 1.VISIO中 ...

  5. light oj 1393 - Crazy Calendar 博弈论

    思路:当移到右下角时,就不能移动了.所以与右下角的奇偶性相同的位置,都不能直接到达,先手必败! 只需考虑与右下角奇偶不同的位置,可以看成NIM博弈.最后NIM和不为0的胜,否者败!! 代码如下: #i ...

  6. js正则表达式用法大全

    匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一 ...

  7. 妙味课堂——HTML+CSS(第三课)

    常见标签我已经在上一篇文章中提及,我们做前端设计时,主要也是用这些标签(最常用的). 然而有一个问题,就是有的标签都有自己的默认样式.试通过如下代码来说明: <!DOCTYPE html> ...

  8. sessionID的本质

    SessionID的本质 一.客户端用cookie保存了sessionID 客户端用cookie保存了sessionID,当我们请求服务器的时候,会把这个sessionID一起发给服务器,服务器会到内 ...

  9. vi / vim 删除以及翻页 其它命令

    vim中翻页的命令 vim中翻页的命令 整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl ...

  10. struts2与struts1整合,java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

    原因:我往项目的WEB-INF/lib中导入了struts2基本的包,还有struts1的core包,以及struts2-strut1-plugin的包,但是没有导入commons-loggin-1. ...