您的位置:首页 > 其它

解析xml——采用Jdom与dom4J方式写入xml文档

2012-10-11 20:40 363 查看
  解析文档我们已经了解了读取的两种方法,那么将数据写入xml文档时的方式有怎么样?下面我将我所了解的两种方式介绍给大家。

一.采用jdom方式写入数据:

  同样的要先导入org.jdom.jar这个包

import java.io.FileOutputStream;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

/**
* 解析xml
* 采用jdom方式向文件中写入一个xml文档
* @author dell
*
*/
public class WriteXMLCopy {

public static void main(String[] args) {

//1.创建一个根节点
Element root=new Element("people");

//2.创建子节点
Element name=new Element("name");

Element sex=new Element("sex");

Element age=new Element("age");

//3.给各个节点添加内容或属性
name.setText("张三").setAttribute("Id","001");
sex.setText("male");
age.setText("23");

//4.添加各个节点的关系
root.addContent(name).addContent(sex).addContent(age);

//5.将节点转换为document文档对象
Document doc=new Document(root);

//6.格式化
Format fmt=Format.getCompactFormat();

fmt.setEncoding("UTF-8");//设置编码格式

fmt.setIndent("     ");//设置缩进

//7.写入数据
XMLOutputter out=new XMLOutputter(fmt);
try {

out.output(doc, new FileOutputStream("g:/people.xml"));

System.out.println("success");

} catch (Exception e) {

e.printStackTrace();
}

}
}


二.采用dom4j方式写入:

  同样的要先导入:org.dom4j-1.6.1.jar这个包

import java.io.FileOutputStream;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
* 解析xml
* 采用dom4j方式将数据写入xml
* @author dell
*
*/
public class WriteXML{

public static void main(String[] args) {

//1.创建一个document的对象
Document doc=DocumentHelper.createDocument();

//2.创建根节点
Element root=doc.addElement("people");

//3.添加子节点
root.addElement("name").addAttribute("no", "001");
root.addElement("sex").addText("男");
root.addElement("age").addText("90");

//4.格式化
OutputFormat opFmt=new OutputFormat();

opFmt.setEncoding("UTF-8");//设置编码格式

opFmt.setIndentSize(4);//设置缩进

opFmt.setNewlines(true);//设置换行

try {

//向文件夹中写入数据
XMLWriter writer=new XMLWriter(new FileOutputStream("g:/Peole.xml"),opFmt);

writer.write(doc);

System.out.println("OK");

} catch (Exception e) {

e.printStackTrace();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: