up:: web开发基础内容概述
XML部分主要内容有:
● 什么是XML,XML常用的实用场景;
● XML语法规则;
● XML语义约束;
● 如何利用Java解析XML文件;(这儿会接触到DOM(文档对象模型))
● XPath路径表达式;(这个表达式可以简化XML数据提取的过程;同时这个表达式是XML中独有的)
一:XML概念与用途
XML概念:
XML没有预置的标签,其中的标签都是我们自己起的;
XML和HTML的比较 :
例如:
XML用途:
● XML可以作为Java程序的配置描述文件:
这些大概率需要经常修改配置项如果写在Java程序中,每次修改都需要重新编译程序很麻烦;所以将这些配置项写在配置文件中;
以后遇到的Java框架,很多在底层进行应用程序配置时,都使用的XML来存储配置信息;
● 用于保存程序产生的数据
XML拥有良好的人机可读性;可以利用XML进行数据的存储和转移;
● 程序底层的网络传输过程中,XML是标准的数据传输格式
如下协议,就是利用XML进行的书写,在数据传输过程中,发送方可以把数据弄成XML格式,接收方按照XML的格式解析就可以获取到数据;
二:XML文档结构
XML文档必须包含三个要素:
(1)第一行必须是XML声明;
两个属性,
version :常见的有1.0和1.1,平时一般用1.0;
encoding :编码方式;UTF-8这种编码方式可以很好的兼容中文;ISO8859-1编码方式不支持中文;
(2)整个文档有且只能有一个根节点;
(3)XML标签的书写规则与HTML完全相同;
使用Eclipse创建XML文件:
一个XML文件示例:
IDE会帮助检查XML是否书写正确,当XML编写正确,没有语法错误时,IDE没有报错提示;
同时可以用你Google浏览器打开书写好的XML文件:
一旦XML有错误:
IDE会报错:
Google浏览器打开的效果:
三:XML标签书写规则
(1)合法的标签名:
(2)适当的注释与缩进
(3)合理使用属性
下面的sn属性和category属性都是自己起的名字;
通常会把标签唯一的身份信息,如id或sn等设置成 属性 (普遍接受的习惯);而如下商品的“XX空调”等常见的,会重复的设置成 节点 ;标签的信息如无必要,还是尽量设置成节点;
(4)特殊字符与CDATA标签
解决方案1:使用实体引用:
注意:(1)实体引用,带分号;(2)实体引用只适用于特殊符号比较少的情况;
解决方案2:使用CDATA标签:
如下面的XML:<lesson>是外层标签,<content>是外=内层标签;里面蓝色方框中有很多特殊字符,如果像把蓝色方框中的内容都作为<content>标签的节点内容:
解决方案如下图:
(5)有序的子元素
如下,在所有<itme>中,里面的子标签顺序都是一致的,第一个是<name>标签,第二个是<price>标签…;这不是强制规范,但这是个约定俗成的习惯