JavaWeb-XML

1.常见的配置文件

1.1 properties

数据库的连接就使用properties文件作为配置文件,properties文件中的配置信息是以键值对的形式存储的。

java 复制代码
beiluo.jdbc.url=jdbc:mysql://localhost:3306/beiluo
beiluo.jdbc.driver=com.mysql.cj.jdbc.Driver
beiluo.jdbc.username=root
beiluo.jdbc.password=root

1.2 XML

  • XML是Extensible Markup Language的缩写,即可扩展标记语言。XML与HTML一样都是标记语言,所以基本语法都是标签。
  • 可扩展意思是标签的名称可以是自定义的,但不代表可以随便写。
  • XML在Java中常用于配置文件。我们不需要从头到尾的写XML文件,而是在第三方应用程序、框架已提供好的配置文件的基础上修改。
  • 在XML基本语法规范的基础上,使用的第三方应用程序、框架会通过XML约束的方式强制规定配置文件中可以写什么和怎么写。
  • XML文件的文档声明必须放在文件的第一行。
  • XML是有约束的,约束限定了XML文件内能编写的内容。有了约束之后,就不能随意自定义标签。在编写XML文件时,会有标签提示。有两种约束:
    • dtd约束:简单、上手快,但约束不够细致。
    • schema约束:复杂、上手慢,但约束细致。.xsd结尾的就为schema约束。
xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>

<jdbc>
    <username>root</username>
    <passwoerd>root</passwoerd>
    <driver>com.mysql.cj.jdbc.Driver</driver>
    <url>jdbc:mysql://localhost:3306/beiluo</url>
</jdbc>

1.3 YAML

SpringBoot就是用YAML作为配置文件。

1.4 json等

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

还有一些其他的配置文件。

2. DOM4J进行XML解析

2.1 DOM4J使用步骤

  • 导入jar包,dom4j.jar。
  • 创建解析器对象(SAXReader)。
  • 解析XML获得Document对象。
  • 对Document对象进行访问和操作。

2.2 API介绍

java 复制代码
@Test
    //要用Test注解,类名就不能为Test
    public void test() throws DocumentException {
        //创建SAXReader对象
        SAXReader saxReader = new SAXReader();
        //通过类加载器获得指向字节码根路径下的指定文件的输入流
        InputStream inputStream = TestDOM4J.class.getClassLoader().getResourceAsStream("jdbc.xml");
        //通过输入流获得document对象
        Document document = saxReader.read(inputStream);
        //由document对象获得根标签
        Element rootElement = document.getRootElement();
        //输出根标签的标签名
        System.out.println(rootElement.getName());
        //得到所有子节点
        List<Element> elements = rootElement.elements();
        //遍历子元素
        for(Element ele : elements){
            System.out.println("\t" + ele.getName());
            Attribute idAttribute = ele.attribute("id");
            System.out.println("\t\t" + idAttribute.getName() + ":" + idAttribute.getValue());
            List<Element> eles = ele.elements();
            for (Element childElement : eles) {
                System.out.println("\t\t\t" + childElement.getName() + ":" + childElement.getText());
            }
        }
    }
相关推荐
wpyok1688 小时前
密钥检测错误代码xml构建
xml
林开落L8 小时前
从入门到了解:Protobuf、JSON、XML 核心解析(C++ 示例)
xml·c++·json·protobuffer·结构化数据序列化机制
介一安全1 天前
【Web安全】XML注入全手法拆解
xml·web安全·安全性测试
2301_818732064 天前
项目启动报错,错误指向xml 已解决
xml·java·数据库·后端·springboot
csdn2015_5 天前
generatorConfig.xml 配置 Controller、Service 完整教程
xml·mybatis
特立独行的猫a5 天前
从XML到Compose的UI变革:现代(2026)Android开发指南
android·xml·ui·compose·jetpack
spencer_tseng6 天前
Stream not available [SysDictDataMapper.xml]
xml·java
qq_297574676 天前
MySQL迁移到瀚高数据库 常用转换函数对照表(附XML示例,直接复用)
xml·数据库·mysql
好好研究7 天前
SpringBoot整合SpringMVC
xml·java·spring boot·后端·mvc
从此不归路8 天前
Qt5 进阶【12】JSON/XML 数据协议处理:与后端/配置文件的对接
xml·开发语言·c++·qt·json