• java-web-dom4j解析XML-递归方式


    <?xml version="1.0" encoding="UTF-8"?>
    <书架>
       

      <书 出版日期="2013-10-25" 出版社="人民出版社" 编号="b1">
           <作者>曾哥</作者>
          <作者>东方不败</作者>
          <售价>66.8</售价>
          <简介>欲练此功,不必自宫!</简介>
          <书名>
           <bookmark>辟邪剑谱</bookmark>
          </书名>
          <书名>葵花宝典</书名>

       </书>
      

       <书 出版社="清华出版社" 编号="b2">
          <书名 ID="b1" value="hahaha">九阴真经</书名>
          <作者>独孤求败</作者>
          <售价>88.9</售价>
          <简介>武功狠!!!</简介>
       </书>
    </书架>

     

    用递归将想找的标签名中的文本值找到:

    package myTestDom4j;

    import java.util.List;

    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;

    public class MyDom4jZSGC {
         

       public static void main(String[] args) throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = reader.read("src/main/resources/book.xml");
        Element rootElement = document.getRootElement(); //拿到跟节点<书架>
        List<Element> elementList = rootElement.elements(); //<书架>的两个儿子

         testSelect(elementList);

       testAdd();

      }

       

      private static void testSelect(List<Element> elementList4) throws DocumentException {

        int nums = elementList4.size();
        for (int i = 0; i < nums; i++) {
           Element elementEvery = elementList4.get(i);     //<书架>的第一个儿子
           List<Element> elementEverySun = elementEvery.elements();//<书架>的两个儿子的后背所有节点
       
           if (elementEverySun.size() == 0) {
              if (elementEvery.getName().equals("bookmark")) {
               System.out.println(elementEvery.getText());
              }
           } else {
               testSelect(elementEverySun);
           }
         }

        }

      private static void testAdd() throws DocumentException, IOException {
            SAXReader reader = new SAXReader();
            Document document = reader.read("src/main/resources/book.xml");
            document.elementByID("zuozhe").addAttribute("name", "yinlixin");
            document.elementByID("zuozhe").setText("尹立新武功天下第一——————");
            //回写回XML

         XMLWriter writer = new XMLWriter(new FileWriter("src/main/resources/book.xml"));
               writer.write( document );
             writer.close();
           }


     }

     

     

     

    spring集成mongodb
  • 相关阅读:
    Windows下安装并设置Redis
    OpenGL纹理上下颠倒翻转的三种解决办法
    如何计算android设备的屏幕物理尺寸
    VS2010中使用QtOpenGL出现 unresolved external symbol __imp__glClear@4 referenced in function之类的错误
    VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
    7月份文章回顾
    NSIS脚本根据操作系统版本动态决定默认安装目录
    WinDriver的一些
    〔池化纲领〕也及链表
    多道程序设计〕协程构造
  • 原文地址:https://www.cnblogs.com/yinlixin/p/4606061.html
Copyright © 2020-2023  润新知