zoukankan      html  css  js  c++  java
  • dom4j

    DOM解析原理及结构模型

    XML DOMHTML DOM类似,XML DOM将整个XML文档加载到内存,生成一个DOM树,

    并获得一个Document对象,通过Document对象就可以对DOM进行操作

     

    DOM中的核心概念就是节点,在XML文档中的元素、属性、文本等,在DOM中都是节点!

    API使用

    如果需要使用dom4j,必须导入jar包。

    dom4j必须使用核心类SaxReader加载xml文档获得Document通过Document对象获得文档的根元素,然后就可以操作了。

     

    步骤:

    1.获取解析器

    2.获得document文档对象

    3.获取根元素

    4.获取根元素下的子元素

    5.遍历子元素

    6.判断元素名称为servlet的元素

    7.获取servlet-name元素

    8.获取servlet-class元素

    public static void main(String[] args) throws DocumentException {
            //创建SAXReader对象
            SAXReader sax=new SAXReader();
            //加载xml文件,获取Document对象
            Document doc=sax.read("src/com/oracle/demo02/web.xml");
            //获取根元素
            Element root=doc.getRootElement();
            System.out.println(root.getName());
            //获取根元素的所有子元素
            List<Element> list=root.elements();
            
            for(Element e:list){
                //找到servlet元素之后再获取里面子元素
                if(e.getName().equals("servlet")){
                    Element servletName=e.element("servlet-name");
                    Element servletClass=e.element("servlet-class");
                    System.out.println(servletName.getText());
                    System.out.println(servletClass.getText());
                }
                
            }
    public static void main(String[] args) throws DocumentException, ClassNotFoundException, InstantiationException, IllegalAccessException {
            //创建SAXReader对象
            SAXReader sax=new SAXReader();
            //加载xml文件,获取Document对象
            Document doc=sax.read("src/com/oracle/demo03/web.xml");
            //获取根元素
            Element root=doc.getRootElement();
            //获取servlet元素
            Element servlet=root.element("servlet");
            //获取servlet元素中的servlet-class元素
            Element servletClass=servlet.element("servlet-class");
            //System.out.println(servletClass.getText());
            //获取MyServlet的class对象
            Class c=Class.forName(servletClass.getText());
            //快速创建对象
            MyServlet my=(MyServlet)c.newInstance();
            //调用方法
            my.init();
            my.service();
            my.destroy();
        }
  • 相关阅读:
    Linux文件的复制、删除和移动命令
    Linux文件夹文件创建、删除
    Python 常用代码片段
    Chrome 插件 PageSpeed Insights
    VI打开和编辑多个文件的命令
    Linux case 及 函数位置参数
    C#编程利器之三:接口(Interface)
    C#编程利器之四:委托与事件(Delegate and event)
    解读设计模式简单工厂模式(SimpleFactory Pattern),你要什么我就给你什么
    C#编程利器之五:集合对象(Collections)
  • 原文地址:https://www.cnblogs.com/longmingyeyu/p/12843763.html
Copyright © 2011-2022 走看看