XML
概念
定义
- Xml用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用
户对自己的标记语言进行定义的源语言。
特点与作用
- 特点
- xml与操作系统、编程语言的开发平台都无关;
- 实现不同系统之间的数据交互。
- 作用
-
- 配置应用程序(servlet 配置,框架环境配置等)和网站
-
- 数据交互
-
- Ajax基石
-
基础语法
结构
- 格式良好的 XML 文档需满足以下条件
- 必须有XML声明语句 (第一行)
- 必须有且仅有一个根元素
- 标签成对
- 元素正确嵌套
标签、元素、属性
- 标签
- 在 xml 中通过一对 <> 引起来的内容称为 标签 ,
- 属性
- 标签中还可以存在属性(一般在开始标签中),属性为标签添加了一些额外信息,属性的形式为 属性名=“属性值” ,一个标签中可以存在多个属性
- 元素
- 从开始标签到结束标签作为一个整体,称为 元素 。
实体
- 定义
- 实体是对数据的引用;根据实体种类的不同,XML 解析器将使用实体的替代文本或者外部文档的内容来
替代实体引用。
- 实体是对数据的引用;根据实体种类的不同,XML 解析器将使用实体的替代文本或者外部文档的内容来
- xml中5个预定义实体
- < < 小于
- > > 大于
- & & 和号
- ’ ’ 单引号
- " " 引号
XML解析
加载文件
- 1)创建流,加载xml文件
- SAXReader reader = new SAXReader();
- 2)获取Document对象
- Document document = reader.read(new File(path));
操作文件
-
增(写出)
- 1.构建XMLWriter
- XMLWriter writer = null;
- 2.构建输出格式
- OutputFormat format = OutputFormat.createPrettyPrint();
- writer = new XMLWriter(new FileWriter(path),format);
- 3.写出
- writer.write(document);
- 4.刷出
- writer.flush();
- 5.关闭
- writer.close();
- 1.构建XMLWriter
-
删
- 获取根节点
- Element root = document.getRootElement();
- 获取子节点
- List list = root.elements();
- 根据ID获取想要删除的元素
- String idValue = e.attributeValue(“id”);
- 获取元素内想要删除的标签
- Element removeElement = e.element(“tuition”);
- 删除获取到的标签
- e.remove(removeElement);
- 获取根节点
-
改
- 找到ID属性值为2的元素
- String idValue = e.attributeValue(“id”);
- if(idValue.equals(“2”)){}
- 对其中的元素进行修改(增加 1w)
- tuition.setData(Integer.parseInt(tuition.getText())+10000);
- 找到ID属性值为2的元素
-
查
-
获取根节点
- Element root = document.getRootElement();
-
获取子节点
- List list = root.elements();
-
遍历子节点
list.forEach(e->{
System.out.println("标签名 : "+e.getName() + “–>id属性 = “+e.attributeValue(“id”));
//迭代所有子元素的迭代器
Iterator it = e.elementIterator();
while(it.hasNext()){
Element ele = it.next();
System.out.println(ele.getName()+”---->”+ele.getData());
}
});- Iterator it = e.elementIterator();
-
XML文档约束
-
定义
- 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范(与xml语法无关),这称之为XML
约束。此举主要是为了保证数据的规范性和安全性。
- 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范(与xml语法无关),这称之为XML
-
分类
-
DTD约束:
-
优点
- 语法简洁,功能比较单一。
-
定义
- DTD即文档类型定义-- Document Type Definition
- 一个DTD文档可能包含如下内容
-
- 元素的定义规则
-
- 元素之间的关系规则
-
- 属性的定义规则
-
导入方式
-
内部导入
-
DTD约束和xml写在一个文件中。
-
语法:
-
if salary <100 then
-
if salary < 100 then
-
-
外部导入
-
当验证的XML文件较多时,使用内部DTD可能出现冗余,此时可以通过引入dtd 文件进行xml 约束。
-
-
-
-
Schema约束:语法复杂,功能比较强大。
-