使用dom4j吧里面演示了通过xpath找节点,读写xml文档
Java code import java.io.File;import org.dom4j.Comment;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;/*
* 创建日期 2008-1-14
*//**
* @author C2One
* @version 1.0
* @see 添加注释
*/
public class Main {public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml"));
Node root=document.selectSingleNode("/root");
Node aaa=document.selectSingleNode("/root/aaa");
Element rootEl = (Element) root;
//注释
rootEl.remove(aaa);
Comment com = DocumentHelper.createComment(aaa.asXML());
rootEl.add(com);
//取消注释
Node bbb = document.selectSingleNode("/root/comment()");
rootEl.remove(bbb);
Element e = DocumentHelper.createElement("aaa");
e.setText(aaa.getText());
rootEl.add(e);
System.out.println(document.asXML());
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter writer = new XMLWriter(new FileWriter("output1.xml"),format);
writer.write(DocumentHelper.parseText(document.asXML())); }
}
Java code import java.io.File;import org.dom4j.Comment;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;/*
* 创建日期 2008-1-14
*//**
* @author C2One
* @version 1.0
* @see 添加注释
*/
public class Main {public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader(); Document document = reader.read(new File("input.xml"));
Node root=document.selectSingleNode("/root");
Node aaa=document.selectSingleNode("/root/aaa");
Element rootEl = (Element) root;
//注释
rootEl.remove(aaa);
Comment com = DocumentHelper.createComment(aaa.asXML());
rootEl.add(com);
//取消注释
Node bbb = document.selectSingleNode("/root/comment()");
rootEl.remove(bbb);
Element e = DocumentHelper.createElement("aaa");
e.setText(aaa.getText());
rootEl.add(e);
System.out.println(document.asXML());
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter writer = new XMLWriter(new FileWriter("output1.xml"),format);
writer.write(DocumentHelper.parseText(document.asXML())); }
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货