public class CreateXMLUtil {
//无参数构造方法
public CreateXMLUtil() {
}
//产生一个XML文档并存盘
public Document createXML(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("email");
element3.setText("ningyuxinyushan@163.com");
Element element4 = firstElement.addElement("address");
element4.setText("北京市");
//将创建的XML文档存盘
try {
XMLWriter output = null;
//创建一个格式化对象
OutputFormat format = OutputFormat.createPrettyPrint();
//使用TAB缩进
format.setIndent("\t");
//创建一个XMLWriter对象
output = new XMLWriter(new FileOutputStream(new File(filename)),
format);
//将XML文档输出
output.write(document);
output.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
//返回XML文档对象
return document;
}
//将文本串转换成XML文档并存盘
public Document createTextXML(String filename, String text)
throws Exception {
//使用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(new File(filename)),
format);
//将XML文档输出
output.write(document);
output.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
//返回XML文档对象
return document;
}
//在指定的文件中,将指定Xpath下的指定元素的文本值进行替换
public Document update(String filename,String xpath,String element,
String srcText,String tagText)throws Exception{
//读取指定的XML文件,返回内存XML文档对象
SAXReader reader = new SAXReader();
Document doc = reader.read(new File(filename));
//将指定的XPAHT的元素文本值进行替换
List list = doc.selectNodes(xpath);
Iterator it = list.iterator();
while(it.hasNext()){
Element el = (Element)it.next();
Iterator itl = el.elementIterator(element);
while(itl.hasNext()){
Element titleElement = (Element)itl.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(new File(filename)),format);
//将XML文档输出
output.write(doc);
output.close();
}catch(IOException e){
System.out.println(e.getMessage());
}
//返回XML文档对象
return doc;
}
}