5、XML

知识点:XML
XML(EXtensible Markup Language),可扩展标记语言
特点
  • XML与操作系统、编程语言的开发平台无关
  • 实现不同系统之间的数据交换
作用
  • 数据交互
  • 配置应用程序和网站
  • Ajax基石
XML文档结构
  • 声明
  • 文档元素描述信息(文档结构)
XML标签
XML文档内容由一系列标签元素组成
<元素名 属性名="属性值">元素内容</元素名>
**属性名见名知意,简洁,不要使用-(中横线)、.(点)、:(冒号)
空元素:
  • <name> </name>
  • <name></name>
  • <name/>(作用等同上面)
语法:
  • 属性值用双引号包裹
  • 一个元素可以有多个属性
  • 属性值中不能直接包含<、"、&(不建议:'、>)

节点:
  • 元素节点
  • 文本节点
  • 属性节点
————————————————————————————————
1.1XML编写注意事项
所有XML元素都必须有结束标签
XML标签对大小写敏感
XML必须正确的嵌套
同级标签以缩进对齐
元素名称可以包含字母、数字或其他字符
元素名称不能以数字或者标点符号开始
元素名称中不能含空格
————————————————————————————————
1.2转移符
符号
转移符
<
&lt;
>
&gt;
"
&quot;
'
&apos;
&
&amp;
当元素中出现很多特殊字符时,可以使用CDATA节,如:
<description>
<![CDATA[讲解了元素<title>以及</title>的使用]]>
</description>
————————————————————————————————
1.3XML解析器
解析器类型
非验证解析器
检查文档格式是否良好
验证解析器
使用DTD(Document Type Define)检查文档的有效性
————————————————————————————————
1.4XML命名空间
XML命名空间提供避免元素命名冲突的方法
如:
<h:table xmlns:h="http://www.w3.org/TR/heml4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table xmlns:f="http://www.w3school.com.cn/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80<f:width>
<f:length>120</f:length>
</f:table>
与仅仅使用前缀不同,我们为<table>标签添加了一个xmlns属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称
————————————————————————————————
1.5解析XML技术
DOM(Document Object Model):Dom把XML文档映射成一个倒挂的树
  • 基于XML文档树结构的解析
  • 适用于多次访问的XML文档
  • 特点:比较消耗资源

SAX
  • 基于事件的解析
  • 适用于大量数据的XML文档
  • 特点:占用资源少,内存消耗小
DOM4J
  • 非常优秀的Java XML API
  • 性能优异、功能强大
  • 开放源代码
————————————————————————————————
1.6DOM解析
DOM解析XML文件步骤
  • 创建解析器工厂对象
  • 解析器工厂对象创建解析器对象
  • 解析器对象指定XML文件创建Document对象
  • 以Document对象为起点操作DOM树

DOM解析包:org.w3c.dom
常用接口
常用方法
说明
Document
表示整个XML文档
Nodelist getElementByTagName(String Tag)
按文档顺序返回文档中制定标记名称的所有元素集合
Element createElement(String tagName)
创建制定标记名称的元素
Node
该文档树中的单个节点
Nodelist getChildNodes()
获取该元素的所有子节点,返回节点集合
Element
XML文档中的一个元素
String getTagName()
获取元素名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值