2-数据保存-XML

2-数据保存-XML

文章目录

什么是XML?

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

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

可扩展

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

用途

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

掌握

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

常见配置文件类型

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

XML文件格式

示例

  • 无约束的XML
xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<students>
    <student>
        <name>张三</name>
        <age>18</age>
    </student>
    <student>
        <name>李四</name>
        <age>20</age>
    </student>
</students>

基本语法

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

文档声明

  • 固定格式,一定要从第一行第一列开始写
xml 复制代码
 <?xml version="1.0" encoding="UTF-8"?>

根标签

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

标签关闭

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

标签嵌套

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

属性

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

XML约束

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

常用约束

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

Schema约束概述

xml 复制代码
<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">
    
    在这里编写正文内容
  • 代码所示为一个schema约束,根据约束,在下边编写相关内容
  • Schema约束要求我们一个XML文档中,所有标签,所有属性都必须在约束中有明确的定义,不能自己随意定义标签、属性

Java-XML文件解析-DOM4J

使用步骤

  1. 导入jar包 dom4j.jar

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

  3. 解析xml 获得Document对象

  4. 获取根节点RootElement

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

API介绍

1.创建SAXReader对象

java 复制代码
SAXReader saxReader = new SAXReader();
  1. 解析XML获取Document对象: 需要传入要解析的XML文件的字节输入流
java 复制代码
Document document = reader.read(inputStream);
  1. 获取文档的根标签
java 复制代码
Element rootElement = documen.getRootElement()
  1. 获取标签的子标签
java 复制代码
//获取所有子标签
List<Element> sonElementList = rootElement.elements();
//获取指定标签名的子标签
List<Element> sonElementList = rootElement.elements("标签名");
  1. 获取标签体内的文本
java 复制代码
String text = element.getText();
  1. 获取标签的某个属性的值
java 复制代码
String value = element.attributeValue("属性名");
相关推荐
爱生活的苏苏14 分钟前
vue生成二维码图片+文字说明
前端·vue.js
拉不动的猪16 分钟前
安卓和ios小程序开发中的兼容性问题举例
前端·javascript·面试
炫彩@之星22 分钟前
Chrome书签的导出与导入:步骤图
前端·chrome
贩卖纯净水.33 分钟前
浏览器兼容-polyfill-本地服务-优化
开发语言·前端·javascript
前端百草阁39 分钟前
从npm库 Vue 组件到独立SDK:打包与 CDN 引入的最佳实践
前端·vue.js·npm
夏日米米茶39 分钟前
Windows系统下npm报错node-gyp configure got “gyp ERR“解决方法
前端·windows·npm
且白1 小时前
vsCode使用本地低版本node启动配置文件
前端·vue.js·vscode·编辑器
程序研1 小时前
一、ES6-let声明变量【解刨分析最详细】
前端·javascript·es6
siwangqishiq22 小时前
Vulkan Tutorial 教程翻译(四) 绘制三角形 2.2 呈现
前端
李三岁_foucsli2 小时前
js中消息队列和事件循环到底是怎么个事,宏任务和微任务还存在吗?
前端·chrome