xml 描述
可扩展的标记语言。
xml的语法与Html的语法比较类似,但是HTML 中的元素是固定的,
而XML的标签是可以由用户来进行自定义的。
xml的语法
1.文档声明必须要有的, 必须是 结束的
2.文档声明必须从文档的0行0列的位置开始
3.文档生明的时候有3个属性,
3-1、 version="1.0" 版本 ,必须要有的
如1.0 版本
3-2、 encoding="UTF-8" 指定当前文档的编码格式, 一般都是UTF-8
3-3、standalone= 是否为独立
yes 不依赖其他文件(默认) no 依赖于它文件


元素
1.元素就是XML文档中的最重要的组成部分
2.普元素的结构,开始标签,元素体,结束标签来组成的
如: <hello>大家好</hello>
元素体,可以是文本,数字,标签
3.空元素
只有开始标签,没有结束标签,但是元素可以自己进行闭合
如:

4.一个良好的XML文档,必须要有一个根元素
如:<web-app.........
属性
1.属性是元素的一部分,它必须出现在元素的开始标签中。
2.属性格式的定义:
属性名=属性值,其中属性值必须使用单引号或者双引号
如:<web-app version="4&#46;0">
3.一个元素可以有0~N个属性,但是一个元素中不能出现同名的属性
如:<web-app version="3&#46;0"> -> 错误的
4.属性名,不能使用空格,冒号等等改的特殊字符,但必须以字母开头
如:<web-app ion="4&#46;0" v="" vers=""> -> 错误的
注释:
xml中的注释,与HTML中的注释相同,,注释内容会被XML解析器进行忽略
转义字字符
1.xml中的转义字符,与HTML中的一样
2.因为有很多的字符,已经被XML文档结构来进行使用,所以在元素体或者属性中想进行
使用这些符号,就必须要使用转义字符,如 < >
字符: 十进制 十六进制 预定义
< < < <
> > > >
* " " &qout;
& & & &
显示结果 描述 转义字符 十进制
空格    
< 小于号 < <
> 大于号 > >
& 与号 & &
" 双引号 " "
' 单引号 ' '
× 乘号 × ×
÷ 除号 &divde; ÷
CDATA
1.当大量的转义字符,出现的时候,在xml文件中,我们的阅读性就大大的降低了
,这个时候就可以使用CDATA标签,CDATA中出现的< > * & 。。。
都是无需进行转义的,因为CDATA标签中的都是文本,也就是说在CDATA中出现的XML就是
不是标签,而是文本的
2.使用CDATA就可以进行提高阅读性了
语法:
任意的内容,这些都是文本<input> </web-app></web-app></web-app>


入门案列
如:
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.test.xml.Test_XML</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>


XML与HTML的区别
1.xml 标签 都是可以进行自定义的, HTML中的标签是预定义的.
2.xml的语法比较严格,hmtl中的语法比较松散
3.xml是可以进行存储数据的,HTML的进行显示数据的。
3.语法的区别


XML的使用方式:
解析的方式。
1.解析(读取),将XML文档中的数据进行读取到内存中。
2.写入: 将内存中的数据进行保存到xml文件中,来进行完成持久化的存储
3.比较常见的解释方式有以下的3种
1- DOM
1.要求解析器把整个xml文档进行加载到内存中,并解析成一个
Document 对象
优点:
元素与元素之间进行保留结构的关系,我们可以进行
对元素的增删改查操作
缺点:
文档过大,容器导致内存溢出的情况
2- SAX(了解)
1.是一种速度快,更加有效的方式
2.逐行进行扫描文档,也就是说一边进行扫描,一边进行解析
优点:
速度快,可以进行处理大性的文件
缺点:
只能读, 逐行进行扫描后进行释放资源

  3-PULL(了解)
     1.android 的解析方式

解析器.
1.根据不同的解析方式来进行提供具体的实现的
2.有的解析器,操作过程特别的繁琐,对应厂商就进行提供了解析开发jar包
常见的解析开发包
AXP
SUM公司提供的支持DOM和SAX的开发包
JDom
dom4j 的一个兄弟包
jsoup
1.一种处理HTML文件的,特定的解析器,
2.节可以进行解析某个URL的地址,HTML的文本内容
可以通过DOM ,Css 以及Jquery 来进行取出这些数据
dom4j
是一款非常优秀的解释器,也是比较常用的,注意:
Hibernate 底层就采用的dom4j


  jsoup  解析器:
       1.  是一个款HTML的解析器,可以进行直接解析某个HTML的文本内容
       2.提高了对应的API,可以进行通过CSS dom  jquery 来进行获取数据

使用方式;
导入对应的jar包
jsoup-1.11.2.jar
JsoupXpath-0.3.2.jar
创建一个XML文件

<students>

<student number="java&#95;001">

<person id="java&#95;hello">
<lastname>
小白龙
</lastname>
<lastage>
23
</lastage>
</person>
<age>12</age>
<sex>女</sex>
</student>
<student name="java&#95;002">
<age>22</age>
<sex>男</sex>
</student>
</students</students>

使用的