Java高级(七)XML技术
AJAX(Asychronous javaScript and XML) 异步刷新技术
XML EXtensible Markup Language 可扩展标记语言
1.XML的特点
XML与操作系统、编程语言的开发平台无关,实现不同系统之间的数据交换
2.作用
数据交换 配置应用程序和网站 Ajax基石
<?xml version="1.0" encoding="UTF-8"?> <!--声明-->
<books> <!--标记/标签/元素-->
<!--图书信息-->
<book id="bk101"><!--子元素-->
<author>李明明</author>
<title>XML基础编程</title>
</book>
</books><!--根元素-->
<元素名 属性名=“属性值”>元素内容</元素名>
语法:属性值用双引号包裹
一个元素可以有多个属性
属性值中不能直接包含<、“、&(不建议 :‘、>)
3.xml编写注意事项
1.所有XML元素都必须有结束标签
2.XML标签对大小写敏感
3.XML必须正确嵌套
4.同级标签以缩进对齐
5.元素名称可以包含字母,数字或其他的字符
6.元素名称不能以数字或者标点符号开始
7.元素名称中不能含空格
4.xml中的转义符列表
符号 转义符
< ⁢
> >
" "
' '
& &
<![CDATA[讲解了元素<tile>以及</tile>的使用]]>可以输出<>,不需要用转义字符
1.定义一个格式良好的XML文件
2.解析XML文件
解析器类型
非验证解析器 查看文档格式是否良好
验证解析器 使用DTD(Document Type Define)检查文档的有效性,DTD是验证机制,一种标准
XML命名空间
统一资源标识符 xmlns 命名空间
5.解析XML技术
Dom | Dom4J |
---|---|
基于XML文档树结构的解析 | 非常优秀的Java XML API |
适用于多次访问的XML文档 | 性能优异,功能强大 |
特点:比较消耗资源 | 开放源代码 |
介绍:文档对象模型(Document Object Model)
DOM 把XML 文档映射成了一个倒挂的树
Java程序对XML进行增删该查
DOM 解析常用的一些接口,类,方法
常用接口 | 常用方法 | 说明 |
---|---|---|
Document | NodeList | 按文档顺序返回文档中指定标记表示整个XML文档 |
getElementsByTagName(String Tag) | 名称的所有元素集合 | |
createElement(String tagName) | 创建指定标记名称的元素 | |
Node:该文档树中 | NodeList | 获取该元素的所有子节点的单个节点 |
getChildNodes() | 返回节点集合 | |
Element:XML文档 | getChildNodes() | 获取元素名称 |
Document 树
Node 节点
Element 元素 3个接口
getElementsByTagName(String Tag) 根据标签名字获得元素,参数为标签名字
createElement()创建一个元素/标签
getChildNodes()获取一个子节点
getTagName()获取元素名称 4个方法
6.DOM解析XML文件步骤:
1.创建解析器工厂对象
2.解析器工厂对象创建解析器对象
3.解析器对象指定XML文件创建Document对象
4.以Document对象为起点操作DOM树
7.DOM4J
Document 定义文档
Element定义xml元素
Text 定义xml文本节点
Attribute 定义了xml属性
需要导入一个jar包DOM4J
8.编写格式良好的XML文件注意事项
1.所有XML元素都必须有结束标签
2.XML标签对大小写敏感
3.XML必须正确嵌套
4.同级标签以缩进对齐
5.元素的名称可以包含字母,数字或其他字符(遵循我们Java变量的写法),元素名称不能以数字或标点符号开头,也不能在名称中包含空格
6.属性名小写,属性值以单双引号包裹
7.不要使用特殊符号 > "'
8.每一个xml都有且仅有一个根元素
9.方法整理:
-
Document;代表整个XML文档
-
Element createElement(String tagName); 创建元素
-
NodeList getElementsByTagName(String tagName); 根据标签名获得所有的节点元素
-
NodeList:节点列表 和我们平时用的集合不一样
-
int getLength();获取集合元素个数
-
Node item(int index); 根据索引获取集合中的节点
-
Node :(接口)节点(节点:元素节点,文本节点,属性节点
来源:CSDN
作者:黑小飞
链接:https://blog.csdn.net/qq_43080861/article/details/104244392