Dom4j 添加 / 更新 / 删除 XML
1、获得文档
/**
*1、获得解析流
*2、解析XML
*/
2、添加
/**
*1、获取父元素
*2、创建元素
*3、创建属性并添加到元素中
*4、元素添加到根节点
*/
3、更新
/**
*1、获取结点
*2、转化为元素
*3、获取子元素
*4、更改
*/
4、删除
/**
*1、获得结点
*2、转换为元素
*3、获得父元素
*4、移除
*/
5、保存
/**
*1、创建输出对象
*2、添加内容对象
*3、关闭输出流
*/
获得文档
//获取文档 private static Document GetDocument() throws DocumentException { //获得解析流 SAXReader reader=new SAXReader(); //解析xml Document document=reader.read("books.xml"); return document; }
添加文档
//添加 private static void AddXml(Document document) { //获取父元素 Element rootElement=document.getRootElement(); //创建元素 Element newElement =DocumentHelper.createElement("book"); //创建属性 Attribute attribute=DocumentHelper.createAttribute(newElement, "id", "b003"); //属性添加到元素中 newElement.add(attribute); //子元素 Element priceElement=DocumentHelper.createElement("price"); priceElement.setText("1234567890"); newElement.add(priceElement); //添加到根元素 rootElement.add(newElement); }
修改文档
//修改 private static void UpdateXml(Document document) { //获取book结点 Node node= document.selectSingleNode("//book[@id='b001']"); //转换为元素 Element bookelement=(Element) node; //获取price元素 Element priceElement= bookelement.element("price"); //更改文字 priceElement.setText("12345"); priceElement.setAttributeValue("unit", "$"); }
删除文档元素
1 //删除元素 2 private static void DeleteXml(Document document) { 3 //获得结点 4 Node node= document.selectSingleNode("//book[@id='b001']"); 5 //转换为元素 6 Element element=(Element) node; 7 //获取父元素 8 Element parentElement=element.getParent(); 9 //移除 10 parentElement.remove(node); 11 }
保存文档
1 //保存 2 private static void SavaXml(Document document) throws IOException { 3 //创建文件输出对象 4 FileWriter fileWriter=new FileWriter("books.dom4j.xml"); 5 XMLWriter writer=new XMLWriter(fileWriter); 6 //添加内容对象 7 writer.write(document); 8 //关闭流 9 writer.close(); 10 }