1、定义
EXtension markup language
XML:可扩展自定义标记语言
2、XML的存在意义和用法
XML存在约束,可以自定义但也存在书写规则,一般不需要逐行书写。
我们使用XML,只需要基于第三方应用程序和已提供框架的配置文件进行修改。
3、常见配置文件的类型
(1)properties
实例:
<username>root</username>
<password>root</password>
<driver>com.mysql.cj.jdbc.Driver</driver>
<url>jdbc:mysql//localhost:3300/atguigu</url>
书写规范:
1.以键值对的形式书写
2.键和值之间有等号
3.必须顶格书写,前面不能有空格符号
(2)XML
xml的语法:
①根标签只有一个
②第一行永远是*<?xml version="1.0" encoding="UTF-8"?>*不允许放任何东西
③xml是有约束的,约束用于限定xml内部能编写的内容
xml两种约束 :
dtd 简单 约束没有schema细致
schema 复杂 约束细致
补充:
标签名、属性名建议使用小写字母
-
属性必须有值
-
属性值必须加引号,单双都行
XML的文档声明,这部分基本上是固定格式,要注意的是:
文档声明一定要从第一行第一列开始写。
DOM4J进行XML的解析:
Jdbc.xml文件信息
XML
<?xml version="1.0" encoding="utf-8" ?> <!-第一行固定书写-->
<jdbc>
<dev>
<username>root</username>
<password>root</password>
<driver>com.mysql.cj.jdbc.Driver</driver>
<url>jdbc:mysql//localhost:3300/atguigu</url>
</dev>
</jdbc>
java代码展示:
java
public class testDom4j {
@Test
public void test() throws Exception{
//读取jdbc.xml的配置文件 获得document文件
SAXReader saxReader=new SAXReader();
//通过类加载器获得指向字节码根路径下的指定文件的输入流
InputStream resourceAsStream = testDom4j.class.getClassLoader().getResourceAsStream("jdbc.xml");
//通过输入流获取配置文件,解析成一个dom对象
Document document=saxReader.read(resourceAsStream);
//从document对象上获得配置文件中的信息
Element rootElement = document.getRootElement();
System.out.println(rootElement.getName());
List<Element> elements=rootElement.elements();
for (Element element:elements){
System.out.println("\t"+element.getName());
Attribute idAttribute = element.attribute("id");
System.out.println("\t"+idAttribute.getName()+"="+idAttribute.getValue());
}
}
}
Node 节点:
Element 元素结点
Attribute 属性结点
Text 文本节点
总结:
XML是配置文件,用于存储一些配置信息,作用类似于properties。