• 2-数据保存-XML


    2-数据保存-XML

    什么是XML?

    XML是EXtensible Markup Language的缩写,翻译过来就是可扩展标记语言

    • XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签

    可扩展

    • XML允许在一定范围内自定义格式

    用途

    • 用做配置文件,保存数据
    • 在XML基本语法规范的基础上,使用的那些第三方应用程序、框架会通过XML约束的方式强制规定配置文件中可以写什么和怎么写

    掌握

    • 不要从零开始,知道怎么根据已有约束、已有配置文件进行修改即可

    常见配置文件类型

    配置文件类型用途
    .propertiesdruid连接池就是使用properties文件作为配置文件
    .XMLTomcat就是使用XML文件作为配置文件
    .YAMLSpringBoot就是使用YAML作为配置文件
    .json通常用来做文件传输,也可以用来做前端或者移动端的配置文件

    XML文件格式

    示例

    • 无约束的XML
    
    <students>
        <student>
            <name>张三name>
            <age>18age>
        student>
        <student>
            <name>李四name>
            <age>20age>
        student>
    students>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    基本语法

    XML基本语法+HTML约束=HTML语法,在逻辑上HTML确实是XML的子集

    文档声明

    • 固定格式,一定要从第一行第一列开始写
     
    
    • 1

    根标签

    • 有且只能有一个
    • 标签名建议小写

    标签关闭

    • 双标签:开始标签和结束标签必须成对出现
    • 单标签:单标签在标签内关闭

    标签嵌套

    • 可以嵌套,但是不能交叉嵌套
    • 注意:注释不能嵌套

    属性

    • 属性必须有值,属性值必须加引号,单双都行
    • 属性名建议使用小写

    XML约束

    将来主要就是根据XML约束中的规定来编写XML配置文件,而且会在我们编写XML的时候根据约束来提示我们编写

    常用约束

    约束类别区分
    DTD约束文件结尾为dtd
    Schema约束文件结尾为xsd(约束更强)

    Schema约束概述

    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
        
        在这里编写正文内容
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 代码所示为一个schema约束,根据约束,在下边编写相关内容
    • Schema约束要求我们一个XML文档中,所有标签,所有属性都必须在约束中有明确的定义,不能自己随意定义标签、属性

    Java-XML文件解析-DOM4J

    使用步骤

    1. 导入jar包 dom4j.jar

    2. 创建解析器对象(SAXReader)

    3. 解析xml 获得Document对象

    4. 获取根节点RootElement

    5. 获取根节点下的子节点

    API介绍

    1.创建SAXReader对象

    SAXReader saxReader = new SAXReader();
    
    • 1

    2. 解析XML获取Document对象: 需要传入要解析的XML文件的字节输入流

    Document document = reader.read(inputStream);
    
    • 1

    3. 获取文档的根标签

    Element rootElement = documen.getRootElement()
    
    • 1

    4. 获取标签的子标签

    //获取所有子标签
    List<Element> sonElementList = rootElement.elements();
    //获取指定标签名的子标签
    List<Element> sonElementList = rootElement.elements("标签名");
    
    • 1
    • 2
    • 3
    • 4

    5. 获取标签体内的文本

    String text = element.getText();
    
    • 1

    6. 获取标签的某个属性的值

    String value = element.attributeValue("属性名");
    
    • 1
  • 相关阅读:
    java毕业生设计学科竞赛管理系统计算机源码+系统+mysql+调试部署+lw
    基于kubernetes平台微服务的部署
    SpringBoot系列——SpringBoot整合mybatis+Druid
    全光网络技术、标准、应用现状及展望
    关于近期轻量化部署任务的一个小结
    案例4-1.4 堆中的路径 + 基础实验4-2.5 关于堆的判断
    docker的安装与使用
    工信部数据传输安全形势和挑战
    携手低代码平台公司,创造高效率办公!
    TypeScript算法题实战——字符串篇(字符串的反转、旋转、查询、KMP算法)
  • 原文地址:https://blog.csdn.net/qq_45445505/article/details/134273527