(二)Java操作XML超全总结

(二)Java操作XML超全总结

WEB开发中,XML常被用来做一些配置文件。

一、XML概念

  1. 历史
    1)XML与HTML都属于 W3C
    2)由于浏览器的恶性竞争导致HTML的语法非常松散,所以W3C组织推出了XML,但是XML没有竞争过HTML(因为使用HTML不用像XML格式这么严格),所以XML开始与properties竞争,开始存信息。但是properties不能存数组,所以现在WEB开发中XML技术常被用来作一些配置文件

  2. 概念:可扩展标记语言
    可扩展:标签都是自定义的,可以自己定义标签,如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?xml version="1.0" encoding="UTF-8" ?>
    <students>
    <student number="heima_0001">
    <name id="itcast">
    <xing></xing>
    <ming></ming>
    </name>
    <age>18</age>
    <sex>male</sex>
    </student>
    <student number="heima_0002">
    <name>jack</name>
    <age>18</age>
    <sex>female</sex>
    </student>
    </students>
  3. 功能:
    存储数据:

  • 配置文件
  • 在网络中传输
  1. XML与HTML的区别
    1)XML标签都是自定义的,HTML标签是预定义的
    2)XML语法非常严格,HTML语法非常松散
    3)XML是存储数据,HTML是展示数据

二、XML语法

  1. 组成部分

    如下所示:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?xml version="1.0" encoding="utf-8" standalone='yes' ?>
    <?xml-stylesheet type="text/css" href="a.css"?>
    <users>
    <!--id值需要唯一-->
    <user id="'1">
    <name>张三</name>
    <age>23</age>
    <gander>male</gander>
    </user>
    <user id="2">
    <name>李四</name>
    <age>24</age>
    <gander>famale</gander>
    </user>
    <!--CDATA中的数据会原样显示-->
    <code>
    <![CDATA[
    if(a < b && a > c){}
    ]]]>
    </code>
    </users>
  2. 约束
    在WEB开发中XML常被用来作为一些配置文件,因此XML文件的编写需要满足一些约束(指定XML的书写规则),方便解析。如下图所示:

  • 谁编写xml? —— 用户(程序员);
  • 软件使用者 谁解析xml? —— 软件(半成品软件,框架)
  • 作为框架的使用者(程序员):
    1)能够在xml中引入约束文档 
    2)能够简单的读懂约束文档
    其中约束文档又分为dtdSchema两类:
    (具体代码的编写,后期会上传到本人的个人github)

三、XML解析

XML的解析有`DOM`、`SAX`两种方式,常用的是通过DOM树操作,需要先将XML加载进内存形成一颗DOM树,然后再对该DOM树进行解析操作。DOM结构如下图所示:
  • XML常见的解析器
    1)JAXP:sun公司提供的解析器,支持dom和sax两种思想
    2)DOM4J:一款非常优秀的解析器
    3)Jsoup:一款Java的HTML解析器
    4)PULL:Android操作系统内置的解析器,SAX方式的

Jsoup学习:

# XML

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×