Use dom4j parse, create, modify xml documentation

  • 1, parse and traverse the xml document
 public void parseXml() throws DocumentException {
    //获取解析器
    SAXReader reader = new SAXReader();
    //读取xml文件
    InputStream inputStream = MyBeanFactoryXml.class.getClassLoader().getResourceAsStream("bean.xml");
    Document document = reader.read(inputStream);
    //从根节点开始遍历
    Element rootElement = document.getRootElement();
    //获取根节点下所有元素
    Iterator iterator = rootElement.elementIterator();
    //遍历根节点
    while (iterator.hasNext()) {
        Element element = (Element) iterator.next();
        Attribute id = element.attribute("id");
        String value = id.getValue();
        System.out.println(value);
    }
}
  • 2, create xml document

     public void createXml() throws IOException {
     //创建xml对象
     Document document = DocumentHelper.createDocument();
     //设置根节点
     Element root = DocumentHelper.createElement("beans");
     document.setRootElement(root);
     //设置子节点
     root.addElement("bean")
             .addAttribute("id", "userDao")
             .addText("this is a userDao");
     root.addElement("bean")
             .addAttribute("id", "userService")
             .addText("this is a userService");
     //输出文档
     FileWriter out=new FileWriter("test.xml");
     //美化格式
     OutputFormat format=OutputFormat.createPrettyPrint();
     XMLWriter xmlWriter=new XMLWriter(out,format);
     xmlWriter.write(document);
     xmlWriter.close();
    

    }

  • 3, modify the xml document and write-back

     public void modifyXml() throws DocumentException, IOException {
     //获取解析器
     SAXReader reader = new SAXReader();
     //读取xml文件
     InputStream inputStream = MyBeanFactoryXml.class.getClassLoader().getResourceAsStream("bean.xml");
     Document document = reader.read(inputStream);
     //从根节点开始遍历
     Element rootElement = document.getRootElement();
     //获取根节点下所有元素
     Iterator iterator = rootElement.elementIterator();
     //遍历根节点
     while (iterator.hasNext()) {
         Element element = (Element) iterator.next();
         Attribute id = element.attribute("id");
         String value = id.getValue();
         if(value.equals("userDao")){
             element.addAttribute("id", "myDao");
             String path = MyBeanFactoryXml.class.getClassLoader().getResource("bean.xml").getPath();
             FileWriter out=new FileWriter(path);
             OutputFormat format=OutputFormat.createPrettyPrint();
             XMLWriter xmlWriter=new XMLWriter(out,format);
             xmlWriter.write(document);
             xmlWriter.close();
         }
     }
    
Released six original articles · won praise 0 · Views 128

Guess you like

Origin blog.csdn.net/li210530/article/details/94971864