• Java之Dom4j(RCUDS)


    package anby.com;
    
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    
    import org.dom4j.Attribute;
    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;
    import org.dom4j.io.SAXWriter;
    import org.dom4j.io.XMLWriter;
    import org.xml.sax.SAXException;
    
    public class Dom4jCUD {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args)throws Exception {
    		
    		Document doc= readXml("Book.xml");
    		//使用 Xpath进行查询
    		Node node= doc.selectSingleNode("//book[@id='boo1']");
    		Element ele=(Element)node;
    		//获取元素内容
    		Element  titileEle=ele.element("titile");
    		System.out.println(ele.elementText("titile"));
    		
    		//修改元素内容
    		titileEle.setText("孔乙己");
    		System.out.println(ele.elementText("titile"));
    		
    		//删除元素
    		Node bookNode=doc.selectSingleNode("//book[@id='boo2']");
    		Element Parent=bookNode.getParent();//获取父节点
    	   Parent.remove(bookNode);
    	   
    		//创建元素
    		 Element root=doc.getRootElement();
    		 Element newbook=DocumentHelper.createElement("book");
    		 Attribute subTiltle= DocumentHelper.createAttribute(newbook, "id", "boo3");
    		 newbook.addAttribute("id", "boo3");//增加属性
    		 //创建子元素
    		 Element subTiltle1= DocumentHelper.createElement("titile");
    		subTiltle1.setText("孔乙己");
    		 newbook.add(subTiltle1);    //父元素增加子元素
    
    		 Element subPrice= DocumentHelper.createElement("price");
    		 subPrice.setText("30");
    		newbook.add(subPrice);    //父元素增加子元素
    			 
    
    		root.add(newbook);//父节点增加book、节点
    		
    		//格式不规范,需要格式化xml,还有出现中文乱码现象
    		 saveXml(doc);
    	}
    	
    	public static Document readXml(String path) throws DocumentException
    	{
          SAXReader saxreader =new SAXReader();
          return saxreader.read(new File(path));
    	}
    	
      public static void saveXml(Document document) throws SAXException, IOException
      {
    	  XMLWriter writer=new XMLWriter(new FileWriter("Books.xml"));
    	  writer.write(document);
    	  writer.close();
      }
    	
    }
    

      

  • 相关阅读:
    《深度探索C++对象模型》1
    《C++标准库》
    关于多级分类的封装
    git常用命令
    使用BigDecimal进行精确运算
    关于强制装换
    page分页
    pageContext.request.contextPath 和 request.getContextPath()
    springMVC + mybatis 搜索 分页等
    mybatis 动态sql
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/3019296.html
Copyright © 2020-2023  润新知