Day16
XML
是什么?
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML,HTML文件也是XML文档
- 以标签形式组成:
<a> </a> - XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性(就是易于阅读)。
- XML 是 W3C 的推荐标准
作用
-
配置文件
-
数据传输
- json
XML中的内容
-
文档声明:<?xml version="1.0" encoding="utf-8" ?>
-
- 使用IDE创建xml文件时就带有文档声明.
-
- 文档声明必须为
<?xml开头,以?>结束
- 文档声明必须为
-
- 文档声明必须从文档的0行0列位置开始
-
- 文档声明中常见的两个属性:
- version:指定XML文档版本。必须属性,这里一般选择1.0;
- enconding:指定当前文档的编码,可选属性,默认值是utf-8;
- standalone : true/false
-
-
true: 文档是单独存在, 不能引入外部文件
-
false : 可以引入外部文件
-
元素(标签)
- 有开始, 有结束
格式1:
格式2:
-
属性
-
- 属性是元素的一部分,它必须出现在元素的开始标签中
-
- 属性的定义格式:属性名=“属性值”,其中属性值必须使用单引或双引号括起来
-
- 一个元素可以有0~N个属性,但一个元素中不能出现同名属性
-
- 属性名不能使用空格 , 不要使用冒号等特殊字符,且必须以字母开头
-
-
注释
- 格式:
-
预定义字符
- 注意:严格地讲,在 XML 中仅有字符 “<“和”&” 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。
-
CDATA区
- <![CDATA[ 文本数据
]]>
- 1. CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)
- 2. CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束;
- 3. 当大量的转义字符出现在xml文档中时,会使XML文档的可读性大幅度降低。这时如果使用CDATA段就会好一些。
- 注意:CDATA 部分不能包含字符串 “]]>”。也不允许嵌套的 CDATA 部分。
标记 CDATA 部分结尾的 “]]>” 不能包含空格或折行。
约束
- DTD:
文档类型定义(Document Type Definition)
- Schema
XML解析
Dom4J
-
SAXReader
- new SAXReader()
- Document read(输入流)
-
Document
- Element getRootElement()
-
Element
- elements(String ele)
- element(String ele)
- attributeValue(String attrName)
- getName()
- getText()
XPath
正则表达式
字符类
预定义字符类
数量词
分组
String
-
split
-
repaceAll
拓展
idea自定义xml文件模板
-
第一步
-
第二步