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();
        }
  • 相关阅读:
    重新定位Excel Addin插件的方法
    VBA调用DOS程序两种方法
    Simulink Memory vs Unit Delay
    C#对象序列化与反序列化zz
    [leetcode]Sqrt(x) @ Python
    [leetcode]Sort Colors @ Python
    [leetcode]Pow(x, n) @ Python
    [leetcode]Edit Distance @ Python
    [leetcode]Rotate Image @ Python
    [leetcode]Length of Last Word @ Python
  • 原文地址:https://www.cnblogs.com/longmingyeyu/p/12843763.html
Copyright © 2011-2022 走看看