1. XML
XML是一种可扩展的标记语言
2. XML 标签
- 标签由一对尖括号和合法标识符组成 如:
<student>
- 标签必须成对出现 开始标签与结束标签
- 特殊标签可以不成对,但必须有结束标签 自闭标签
- 标签中可以定义属性,属性和标签名之间空格隔开,属性值必须用引号引起来 如:
html<student age="12"> </student>
3. 文档声明
文档声明必须是第一行第一列
<?xml version= "1.0" encoding= "UTF-8" standalone= "yes"?>
- version: 该属性必须存在
- encoding: 可省
- standalone: 可省 描述xml文件是否依赖其他的xml文件,取值为yes/no
- 一个xml文档只有一个根标签
3.1. CDATA
<![CDATA[ 内容 ]]>
该标签可以忽略特殊字符,直接显示
4. 解析XML
4.1. DOM对象模型
就是把文档的各个组成部分看做成对应的对象
会把xml文件全部加载到内存
在内存中形成一个树形结构,再获取对应的值
4.2. DOM4J
Dom For Java 是一套XML的解析的API-dom4j
// 获取解析器对象
SAXReader saxReader = new SAXReader();
// 解析加载xml文件
Document read = saxReader.read(new File("../java\\src\\笔记\\_xml\\xml\\student.xml"));
// 读取根标签
Element rootElement = read.getRootElement();
// 获取根标签下 所有student标签
List<Element> student = rootElement.elements("student");
for (Element element : student) {
// 获取student标签的属性
Attribute id = element.attribute("id");
//获取id的值
String value = id.getValue();
System.out.println(value);
//获取name标签的text文本
Element name = element.element("name");
String text = name.getText();
System.out.println(text);
//获取age
Element age = element.element("age");
String text1 = age.getText();
System.out.println(text1);
}
5. 约束
用来限定xml文件中可使用的标签以及属性
5.1. DTD约束
5.1.1. 引入DTD约束
- 本地引用 在xml文件声明下面
<!DOCTYPE 根元素名称 SYSTEM 'DTD配置文件路径'>
- xml中引用
<!DOCTYPE 根元素名称 [
DTD配置属性
]>
- 网络中引入
<!DOCTYPE 根元素名称 PUBLIC "DTD文件的名称" "DTD文件的url">