• xml


    xml作用:配置文件,存放数据

    不同的xml起到不同的作用:比如说web项目的中的配置文件起到配置路径作用,以及跳转请求的作用。hibernate的配置文件起到配置连接数据库和相关属性以及对实体类和关系型数据库进行映射的的作用,spring的配置文件起到配置javabean的实例化以及整合框架的作用。还有一些xml文件中存放了一些数据供程序读取。

    xml语法: 文档声明,元素

    DTD约束:一般很少自建xml格式,使用框架提供的约束文档,struct2 

    DTD的使用:引入  <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">,引入后使用指定格式(在elipse中会提示类型错误)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
    <web-app version="1.0">
        <servlet>
            <servlet-name></servlet-name>
            <servlet-class></servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name></servlet-name>
            <url-pattern></url-pattern>
        </servlet-mapping>
        <welcome-file-list>
            <welcome-file></welcome-file>
        </welcome-file-list>
    </web-app>
    DTD约束使用

    Schema约束:新的xml文档约束,比dtd强大,功能更强大,spring框架使用该

    <?xml version="1.0" encoding="UTF-8"?>
    <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">
    
        <servlet>
            <servlet-name>helloServlet</servlet-name>
            <servlet-class>xxxxxxxxxx</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>helloServlet</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    </web-app>
    引入Schema约束

    xml解析:3种方式1.document解析  2.sax解析 3.pull

    常见解析器开发包:

    使用dom4j解析器器解析:

    package cn.itheima.xml.dom4j;
    
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    import org.junit.Test;
    
    public class TestDom4j {
        @Test
        public void testReadWebXML() {
            try {
                // 1.获取解析器
                SAXReader saxReader = new SAXReader();
                // 2.获得document文档对象
                Document doc = saxReader.read("src/cn/itheima/xml/schema/web.xml");
                // 3.获取根元素
                Element rootElement = doc.getRootElement();
                // System.out.println(rootElement.getName());//获取根元素的名称
                // System.out.println(rootElement.attributeValue("version"));//获取根元素中的属性值
                // 4.获取根元素下的子元素
                List<Element> childElements = rootElement.elements();
                // 5.遍历子元素
                for (Element element : childElements) {
                    //6.判断元素名称为servlet的元素
                    if ("servlet".equals(element.getName())) {
                        //7.获取servlet-name元素
                        Element servletName = element.element("servlet-name");
                        //8.获取servlet-class元素
                        Element servletClass = element.element("servlet-class");
                        System.out.println(servletName.getText());
                        System.out.println(servletClass.getText());
                    }
                }
    
            } catch (DocumentException e) {
                e.printStackTrace();
            }
        }
    
    }
    View Code
  • 相关阅读:
    【微信分享遮罩层的实现】
    【1:添加音乐功能以及按钮的实:2:微信滑动页面向下滑动按钮】*************实用**************
    【浅谈html5 响应式布局之自动适应屏幕宽度】
    ajax请求下拉列表框的实现(面向对象封装类)
    获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址(服务器端)
    Sublime Text3快捷键汇总
    完整的ajax请求投票点赞功能的实现【数据库表一(票数)表二(ip限制重复投票)】
    正则表达式验证电话号码的有效性。。。。。。。。。。。。。
    网站镜像如何建立
    水平分割 垂直分割 和 库表散列 概念 说明
  • 原文地址:https://www.cnblogs.com/hellowq/p/9374118.html
Copyright © 2020-2023  润新知