微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml的约束与解析

DTD约束

需要在头部引入:

<!DOCTYPE web-app SYstem "web-app_2_3.dtd">

格式:

<web-app>
    <servlet>
        <servlet-name></servlet-name>
        <servlet-class></servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name></servlet-name>
        <url-pattern></url-pattern>
    </servlet-mapping>
</web-app>

约束:

?可以出现,但只能出现一次

*允许出现任意次数,0

+最少出现一次,可多次

()分组  

|选择一个  a|b

,需要按指定顺序  a,b,c

Schema约束

需要在头部添加

<web-app xmlns="http://www.example.org/web-app_2_5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
version="2.5">

DOM4J解析

    //创建解析器对象
     SAXReader sax=new SAXReader();
        //加载xml文件获取dom对象
        Document doc=sax.read("src/com/oracle/demo02/web.xml");
        //获得根元素web-app
        Element root=doc.getRootElement();
        //先获取根下的servlet元素
        Element servlet=root.element("servlet");
        //获取servlet下的servlet-class元素对象
        Element servletClass=servlet.element("servlet-class");
        //获取完整的包名+类名
        String classname=servletClass.getText();
        System.out.println(classname);
        //反射调用MyServlet中的所有方法
        Class c=Class.forName(classname);
        MyServlet my=(MyServlet)c.newInstance();
        my.init();//创建
        my.service();//执行
        my.destroy();//结束

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。