zoukankan      html  css  js  c++  java
  • XML解析——Dom4j解析器

    dom4j解析器

    1.dom4j基本用法
        1.导入dom4j提供的jar包
        链接:https://pan.baidu.com/s/1yBCg-Jk_G-mT4MIgZwG0yA
        提取码:dt8x
        2.获取document
            *SAXReader reader = new SAXReader();
            *Document document = reader.read(url);
        3.document的父接口为Node
            *若在document里找不到的方法,可以在Node内找
        4.document的常用方法
           *getRootElement() 获取根节点,返回为 Element
        5.Element是接口,父接口为Node
            getParent() 获取父节点
            addElement 添加标签
            element(qname) 获取标签下面的第一个子标签,arg为标签名称
                elements(qname) 获取标签下面是这个名称的所有子标签.
            elements() 获取标签下面的所有一层子标签.
        
        public class Dom4jUtils {
    
    public static final String PATH = "12_XML/src/com/sunny/xml/people.xml";
    
    // 返回document
    public static org.dom4j.Document getDocument(String path) {
        try {
            // 创建解析器
            SAXReader saxReader = new SAXReader();
            // 得到document
            Document document = saxReader.read(path);
            return document;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    // 回写xml方法
    public static void xmlWriters(String path, Document document) {
        try {
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(path), format);
            xmlWriter.write(document);
            xmlWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    }

        *可以提高开发速度,代码可维护性好
    

    使用dom4j支持XPath的操作

    1.可以直接获取某个元素
        1.获取元素常见形式
    *第一种形式
        /AAA/BBB/CCC:表示层级结构,表示AAA下面BBB下面的所有CCC
    *第二种形式
        //BBB:表示和这个名称相同,只要名称是 BBB 都可以获取到
     *第三种形式
       /AAA/BBB/*:选择目录下的所有元素
       /*/*/*/BBB:选择有三个祖先元素的BBB元素
       //*:选择所有的元素
     *第四种形式
        //AAA[1]/BBB:选择第一个AAA下的BBB元素
        //AAA/BBB[1]:选择所有AAA的第一个BBB元素
        //AAA/BBB[last()]:选择所有AAA的最后一个BBB元素
     *第五种形式
        //@id:选择所有的id属性
        //BBB[@id]:选择具有id属性的BBB元素
    *第六种形式
        //BBB[@id='b1'] :选择含有属性id并且其值为b1的BBB元素
  • 相关阅读:
    Angular2版本更新
    Angular2组件开发—调用服务(三)
    Angular2组件开发—调用服务(二)
    Angular2组件开发—调用服务(一)
    Angular2组件开发—表单输入(五)
    Angular2组件开发—表单输入(四)
    Angular2组件开发—表单输入(三)
    Angular2组件开发—表单输入(二)
    Angular2组件开发—表单输入(一)
    Angular2组件开发—属性与事件(二)
  • 原文地址:https://www.cnblogs.com/linjing111/p/12770707.html
Copyright © 2011-2022 走看看