java 生成xml文件

来源:互联网 发布:osi网络通信模型 编辑:程序博客网 时间:2024/06/06 12:28
第一步:添加jar包  dom4j.jar
第二步,编码:
第三步,此时生成的aa.xml位于web项目下,用ie是可以访问到的
package test;

import org.dom4j.*;
import org.dom4j.io.*;

import java.io.*;
import java.util.*;

public class CreateXML {

//无参数构造方法
public CreateXML() {}
//产生一个XML文档并存盘
public Document create(String filename){
//使用DocumentHelper类创建一个文档实例
Document document=DocumentHelper.createDocument();
 
//创建根元素
Element rootElement=document.addElement("linkmans");
 
//为根元素创建第一个子元素
Element firstElement=rootElement.addElement("linkman");
Element element1=firstElement.addElement("name");
element1.setText("张三");
Element element2=firstElement.addElement("id");
element2.setText("001");
Element element3=firstElement.addElement("company");
element3.setText("A公司");
Element element4=firstElement.addElement("email");
element4.setText("zhang@aaa.com");
Element element5=firstElement.addElement("tel");
element5.setText("(020)12345678");
Element element6=firstElement.addElement("address");
element6.setText("广东省广州市");
 
//为根元素创建第二个子元素
Element secondElement=rootElement.addElement("linkman");
Element elementa=secondElement.addElement("name");
elementa.setText("李四");
Element elementb=secondElement.addElement("id");
elementb.setText("002");
Element elementc=secondElement.addElement("company");
elementc.setText("B公司");
Element elementd=secondElement.addElement("email");
elementd.setText("li@bbb.com");
Element elemente=secondElement.addElement("tel");
elemente.setText("(010)12345678");
Element elementf=secondElement.addElement("address");
elementf.setText("北京市");  

//将创建的XML文档存盘
try{
XMLWriter output = null;
//创建一个格式化对象
OutputFormat format = OutputFormat.createPrettyPrint();
//使用TAB缩进
format.setIndent("\t");
//创建一个XMLWriter对象
output = new XMLWriter(new FileOutputStream(newFile(filename)),format);
//将XML文档输出
output.write(document);
      output.close();
   }catch(IOExceptione){
  System.out.println(e.getMessage());
}
   
   //返回XML文档对象
return document;
}

//将文本串转换成XML文档并存盘
public Document create(String filename,String text) throwsException{
//使用DocumentHelper类将文本串转换为XML文档
Document document=DocumentHelper.parseText(text); 

//将创建的XML文档存盘
try{
XMLWriter output = null;
//创建一个格式化对象
OutputFormat format = OutputFormat.createPrettyPrint();
//使用TAB缩进
format.setIndent("\t");
//创建一个XMLWriter对象
output = new XMLWriter(new FileOutputStream(newFile(filename)),format);
//将XML文档输出
output.write(document);
      output.close();
   }catch(IOExceptione){
  System.out.println(e.getMessage());
}
   
   //返回XML文档对象
return document;
}
//在指定的文件中,将指定Xpath下的指定元素的文本值进行替换
public Document update(String filename,String xpath,Stringelement,String srcText,String tagText) throws Exception{
//读取指定的XML文件,返回内存XML文档对象
       SAXReader reader = new SAXReader();
       Document doc = reader.read(newFile(filename));
       
       //将指定的Xpath的元素文本值进行替换
       List list = doc.selectNodes(xpath);
       Iterator it = list.iterator();
       while (it.hasNext()){
       Element el =(Element)it.next();
       Iterator it1=el.elementIterator(element);
       while (it1.hasNext()){
       Element titleElement=(Element)it1.next();
       if(titleElement.getText().equals(srcText))
       titleElement.setText(tagText);
       }
       }
//将创建的XML文档存盘
try{
XMLWriter output = null;
//创建一个格式化对象
OutputFormat format = OutputFormat.createPrettyPrint();
//使用TAB缩进
format.setIndent("\t");
//创建一个XMLWriter对象
output = new XMLWriter(new FileOutputStream(newFile(filename)),format);
//将XML文档输出
output.write(doc);
      output.close();
   }catch(IOExceptione){
  System.out.println(e.getMessage());
}
   
   //返回XML文档对象
return doc;
}
public static void main(String[] args){
CreateXML cx=new CreateXML();
cx.create("aa.xml");
}
}

原创粉丝点击