Java高级(七)XML技术

这一生的挚爱 提交于 2020-02-10 11:20:11

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中的转义符列表

符号 转义符

 <   &it;
 >   &gt;
 "   &quot;
 '   &apos;
 &   &amp;
 <![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 :(接口)节点(节点:元素节点,文本节点,属性节点

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!