XML简介

XML

简介

XMLEXtensible Markup Language的缩写,是可扩展标记语言
XMLHTML一样都是标记语言,基本语法都是标签

常见配置文件类型

properties文件

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

XML文件

例如: Tomcat就是使用XML文件作为配置文件

YAML文件

例如: SpringBoot就是使用YAML作为配置文件

json文件

例如: 通常用来做文件传输,也可以用来做前端或者移动端的配置文件

...等等

properties配置文件

语法规范:

  • 键值对组成
  • 之间的符号等号
  • 每一行都必须顶格写,前面不能有空格之类的其他符号
    示例如下:
javascript 复制代码
summer.jdbc.url=jdbc:mysql://localhost:3306/summer
summer.jdbc.driver=com.mysql.cj.jdbc.Driver
summer.jdbc.username=root
summer.jdbc.password=root

xml配置文件

语法规范:

  • XML文档开头固定格式:文档声明必须 在第一行第一列书写
  • XML基本语法+HTML约束=HTML语法;在逻辑上HTMLXML子集
    文档开头固定格式示例如下:
javascript 复制代码
<?xml version="1.0" encoding="UTF-8"?>

示例如下:

javascript 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<books>
    <book>
        <name>李敖自传</name>
        <author>李敖</author>
    </book>
    <book>
        <name>明朝那些事儿</name>
        <author>当年明月</author>
    </book>
</books>

注意事项

  • 根标签 有且只有一个

  • 标签关闭

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

  • 注释不能嵌套

  • 标签 可以嵌套但不能交叉嵌套

  • 标签名属性名建议小写

  • 属性 必须有值 ;必须加 引号,单、双都行

XML的约束

  • DTD
  • Schema

Schema约束要求我们一个XML文档中,所有标签属性都必须在约束中有明确的定义
web.xml示例如下:

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
         version="6.0">
</web-app>

DOM4J进行XML解析

DOM4J的使用步骤

  1. 导入jardom4j.jar
  2. 创建解析器对象(SAXReader)
  3. 解析xml 获得Document对象
  4. 获取根节点RootElement
  5. 获取根节点下的子节点

DOM4J的API介绍

创建SAXReader对象

  • SAXReader saxReader = new SAXReader()

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

  • Document document = reader.read(inputStream)

获取文档的根标签

  • Element rootElement = documen.getRootElement()

获取标签的子标签

获取所有子标签

  • List<Element> sonElementList = rootElement.elements()
    获取指定标签名子标签

  • List<Element> sonElementList = rootElement.elements("标签名")

获取标签体内的文本

  • String text = element.getText();

获取标签的某个属性值

  • String value = element.attributeValue("属性名");

解析 XML 格式的数据示例

org.dom4j.DocumentHelper 解析 XML 格式的数据

相关推荐
GoodStudyAndDayDayUp12 小时前
IDEA能够从mapper跳转到xml的插件
xml·java·intellij-idea
见欢.13 小时前
XXE靶场
xml
云和数据.ChenGuang1 天前
《XML》教案 第1章 学习XML基础
xml·java·学习
王·小白攻城狮·不是那么帅的哥·天文1 天前
Java操作Xml
xml·java
xiao_fwuu2 天前
IDEA 打开 maven 的 settings.xml 文件
xml·maven·intellij-idea
星月前端3 天前
随记:springboot的xml中sql数据库表名动态写法
xml·数据库·spring boot
有点困的拿铁4 天前
Spring篇--xml方式整合第三方框架
xml·java·spring
武子康4 天前
Java-30 深入浅出 Spring - IoC 基础 启动IoC 纯XML启动 Bean、DI注入
xml·java·开发语言·后端·spring·mybatis·springboot
武子康4 天前
Java-29 深入浅出 Spring - IoC 基础 启动IoC容器的方式 Java方式与Web(XML、配置)方式
xml·java·大数据·开发语言·spring boot·spring
网络安全-杰克5 天前
Apache solr XML 实体注入漏洞
xml·apache·solr