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两种约束 :
dtd 简单 约束没有schema细致
schema 复杂 约束细致
补充:
标签名、属性名建议使用小写字母
- 属性必须有值
- 属性值必须加引号,单双都行
XML的文档声明,这部分基本上是固定格式,要注意的是:
文档声明一定要从第一行第一列开始写。
DOM4J进行XML的解析:
Jdbc.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代码展示:
public class testDom4j {@Testpublic 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。