JavaWeb JavaScript 11.XML —— 配置文件

embedded/2024/9/25 1:43:09/

生活想埋没我,没想到我是颗种子

                                        —— 24.9.19

一、XML

1.什么是XML

XML是EXtensible Markup Languge的缩写,翻译过来就是可扩展标记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签

可扩展 三个字表面上的意思是XML允许自定义格式。但这不代表你可以随便写。

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

XML基本语法这个知识点的定位是:我们不需要从零开始,从头到尾的一行一行编写XML文档,而是在第三方应用程序、框架已提供的配置文件的基础上修改。要改成什么样取决于你的需求,而怎么改取决XML基本语法和具体的XML约束。

2.常见配置文件类型

1.properties文件,例如druid连接池就是使用properties文件作为配置文件

2.XML文件,例如Tomcat就是使用XML文件作为配置文件

3.YAML文件,例如SpringBoot就是使用YAML作为配置文件

4.json文件,通常用来做文件传输,也可以用来做前端或者移动端的配置文件

5.等等..

3.properties配置文件

语法规范

① 由键值对组成

② 键和值之间的符号是等号

③ 每一行都必须顶格写,前面不能有空格之类的其他符号

4.xml细节及约束类型

① 根标签只能有一个

② 第一行永远部是:<?xml version="1.日"encoding="UTF-8"?>,不能放其他

xml有约束,约束用于跟定xml内部能编写的内容

                dtd约束:简单、上手快,约東没有schema约束细致

                schema约束:上手慢,约東要比dtd约束细致

加上约束后,可以提示我们写标签,并且可以检错

三、XML解析技术 —— DOM4J

1.DOM4J的使用步骤

        ① 导入jar包 dom4j.jar

        ② 创建解析器对象(SAXReader)

java">         SAXReader saxReader =new SAXReader();

        ③ 解析xml获得Document对象

java">        InputStream resourceAsStream = ClassLoader.getSystemResourceAsStream("xml/jdbc.xml");

        ④ 获取根节点RootElement4.

2.DOM4J的API介绍

① 创建SAXReader对象

② 解析XML文件获取Document对象,需要传入要解析的XML文件的字节输入流

③ 获取文档的根标签

④ 获取标签的子标签

⑤ 获取根节点下的子节点

本文介绍可以用DOM4J读取XML文件


http://www.ppmy.cn/embedded/116376.html

相关文章

Leetcode42. 接雨水

讲的好的视频讲解 【很难想象这up刷题的精神状态 Leetcode42. 接雨水】 https://www.bilibili.com/video/BV1MC411n7Af/?share_sourcecopy_web&vd_sourceafbacdc02063c57e7a2ef256a4db9d2a rm是right max的意思&#xff0c;lm是left max的意思 时间复杂度&#xff1a; O (…

AI大模型项目实战v0.2: 结合个人知识库

前言 在AI大模型项目实战v0.1版本中&#xff0c;我们实现了一个最简单的基于纯LLM的问答机器人Tbot。 今天升级到v0.2版本&#xff0c;结合个人知识库。 本系列每个版本&#xff0c;都将提供完整的代码文档&#xff0c;获取方法见文末。 下面开启我们的v0.2版本之旅。 v0.2 Tb…

软件测试面试题(6)——二面(游戏测试)

没想到测试题做完等了会儿就安排面试了&#xff0c;还以为自己会直接挂在测试题&#xff0c;这次面试很刺激。测试题总体来说不算太难&#xff0c;主要是实操写Bug那里真没经历过&#xff0c;所以写的很混乱。 我复盘一下这次面试的问题&#xff0c;这次面试是有两个面试官&…

【已解决】华为AR100-S路由器 恢复出厂后,找不到5G wifi的设置

前两帖讨论了华为AR100-S路由器&#xff1a; 一是用电脑浏览器访问web管理界面报错的解决&#xff0c;详情点这里&#xff01; https://blog.csdn.net/weixin_62598385/article/details/142215136 再就是如何回复出厂&#xff0c;也即如何复位&#xff0c; 详情点这里&#xff…

9.24 C++ 常成员,运算符重载

//my_string.cpp #include "my_string.h" #include <iostream> #include <cstring>using namespace std;My_string::My_string():size(15){this->ptr new char[size];this->ptr[0] \0; //表示串为空串this->len 0;}//有参构造My_…

基于Vue3组件封装的技巧分享

本文在Vue3的基础上针对一些常见UI组件库组件进行二次封装&#xff0c;旨在追求更好的个性化&#xff0c;更灵活的拓展&#xff0c;提供一些个人的思路见解&#xff0c;如有不妥之处&#xff0c;敬请指出。核心知识点$attrs,$slots 需求 需求背景 日常开发中&#xff0c;我们经…

【鸿蒙HarmonyOS NEXT】用户首选项Preference存储数据

【鸿蒙HarmonyOS NEXT】数据存储之用户首选项Preference 一、环境说明二、Preference运作机制三、示例代码加以说明四、小结 一、环境说明 DevEco Studio 版本&#xff1a; API版本&#xff1a;以12为主 二、Preference运作机制 应用场景&#xff1a; 用户首选项为应用提…

分享两个ADG监控脚本

分享两个监控脚本&#xff0c;用于监控Oracle ADG的状态&#xff0c;如果状态异常则发送邮件告警 脚本一&#xff1a; 利用语句查询日志的应用状态&#xff0c;如果长时间未应用则邮件告警&#xff0c;提醒DBA检查ADG的状态是否异常&#xff1b; 阈值条件&#xff1a;最近一…