• dom4j


    1.创建:

       1.1直接代码创建:Document document = DocumentHelper.createDocument();
               Element root =  document.addElement("root");  ......其他的都这么来.

       1.2使用string创建:String str = "<?xml version='1.0' encoding='UTF-8'?><root><book1                         type='test'><name>javaWorld</name><price>123.0</price></book1></root>";

            Document document = DocumentHelper.parseText(str); ......其他的和上面一样;

      1.3使用存在的文档,利用SAXReader.read(new File("filePath"));创建document:

           SAXReader sr = new SAXReader(); 

           Document doc = sr.read(new File(filePath));

    2.修改/保存:

      OutputFormat outFmt=new OutputFormat("    ",true); //格式使用4个空格作为缩进字符串,元素之间添加新行
        XMLWriter xmlWriter = new XMLWriter(new FileWriter(new File("path")),outFmt);
          xmlWriter.write(doc);
          xmlWriter.close();

    3.删除:remove(Element/Attribute);//注意,只有在父节点上移除,不能在祖先节点上移除;

    4.查找:

      4.1在document下查找元素: elementByID("str"); getParent();//很少用    getRootElement();//得到root元素,用的最多.

      4.2在Element下查找元素,如在root下查找:root.element("str");//常用

      4.3在Element下查找属性:如在root下查找属性为str的值:root.attributeValue("str");  //不用get开头--------记忆:获取Element和Attribute都不用 get开头;

      4.4在Element下查找文本值:getText();

      4.5相当于补充的,这个需要使用jaxen.jar,直接通过路径来获取document中的元素元素,不用一步一步来搞了.如下:
       Element book1 = (Element) document.selectSingleNode("/root/book1");

      4.6有时候需要遍历元素下的所有元素使用----elementIterator(),如遍历root下的所有元素:Iterator iterator=root.elementIterator();  

      -->while(iterator.hasNext()) {

       Element e = (Element) iterator.next();   //注意游标是从所有元素的最前面开始的,也就是说他所在的位置没有元素.

      }

  • 相关阅读:
    225. 用队列实现栈
    415. 字符串相加
    rabbitmq的基本使用
    3. 无重复字符的最长子串
    面试题59
    面试题30. 包含min函数的栈
    面试题09. 用两个栈实现队列
    287. 寻找重复数
    1137. 第 N 个泰波那契数
    70. 爬楼梯
  • 原文地址:https://www.cnblogs.com/yanjunwu/p/3171774.html
Copyright © 2020-2023  润新知