Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战# 1\. XML简介: XML是指可扩展的标记语言。2)XML简化数据共享,让不同应用程序共享数据变得更加容易

大家好,欢迎来到IT知识分享网。

1. XML简介:

(1)XML的概念:

XML是指可扩展的标记语言。XML被设计用来传输和存储数据。

(2)XML的用途:

1)XML把数据从HTML分离

2)XML简化数据共享,让不同应用程序共享数据变得更加容易

3)XML简化数据传输,可以在不兼容的系统之间轻松的交换数据

4)XML简化平台的变更,XML数据以文本格式存储。这使得XML在不损失数据的情况下,更容易扩展或升级。

5)XML用于创建新的internet语言

2. XML的基本语法:

(1)XML的处理指令PI:

1)处理指令,简称PI(processing instrunction)。处理指令用来指挥解析引擎如何解析XML文档内容。

2)处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。

3)XML处理指令要求指定一个version属性。并允许指定可选的standalone属性和encoding属性。

  • standalone=”yes”表示这个xml文档是一个单独的文档,不涉及到其他的,没有对它验证的这样一个文档存在,也就是说我的这个xml文档现在不需要dtd进行验证,只要语法正确就没问题。no指使用;

  • Encoding是指使用的字符编码格式 。如:utf-8等

例如:<?xml version=“1.0” standalone=”yes” encoding=“utf-8”?>

(2)XML的元素:

1)元素定义:

XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可以包含其他元素、文本后者两者的混合物。元素可以拥有属性。

2)元素实例:

<sparkconfig>

<appname>sparkTomysql</appname>

<masterid=“333”>spark://slave75:7077</master>

</sparkconfig>

讲解:

  • <sparkconfig>有文本元素,因为它包含其它元素;

  • <appname>只有文本内容

  • <master>元素拥有属性(id=“333”)

3)元素辨析的要求:

  • 属性必须加引号,属性值必须被引号包围,单双引号均可。

  • 如果属性本身包含单引号,那么有必要用单引号包围,或者使用实体引用。

(3)XML的命名规则:

  • 大小写敏感

  • 名称可以含字母、数字以及其他的字符

  • 名称不能以数字或者标点符号开始

  • 名称不能以字符 “xml”(或者 XML、Xml)开始

  • 名称不能包含空格

(4)XML中的实体引用:

1)5个实体引用如图:

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

2)实体引用举例:以字符“<”为例:

这样会产生 XML 错误:

<person>if age< 300 </person>

为了避免这个错误,应该用实体引用来代替 “<” 字符:

<person>if age &lt; 300 </person>

(5)CATA字段:

1)CDATA概念:

  • 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data);

  • CDATA 部分中的所有内容都会被解析器忽略;

  • CDATA 部分由 “<![CDATA[” 开始,由 “]]>” 结束。

2)举例:

<sparkconfig>

<appname>sparkTomysql</appname>

<master>spark://slave75:7077</master>

<![CDATA[

[team]

[age]

]]>

</sparkconfig>

讲解:[team] 和[age]被忽略

3. XML的4种解析方式:

4种方式对比如图:

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

4. 4种XML解析方式的代码实例:

(1)DOM解析XML的方式,代码详解如下:

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

DOM代码片段1

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

DOM代码片段2

补充:b.xml文档的内容是:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>

<catalog>

<category>

<id>55</id>

<name>film</name>

</category>

</catalog>

(2)SAX解析XML的方式,代码详解如下:

1)第一个内容:解析的xml文档是:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>

<all>

<book>

<name>bigdata</name>

<author>johne</author>

</book>

</all>

第二个内容:book对象:

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

第三个内容:sax解析对象:

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

sax代码片段1

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

sax代码片段2

(3)JDOM解析XML的方式,代码详解如下:

1) 第一步:引入第三方jar包jdom2-xx.jar。下载链接如下:

http://mvnrepository.com/artifact/org.jdom/jdom2/2.0.6

点击Download(JAR)

2) 第二步:代码如下:

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

jdom代码片段1

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

jdom代码片段2

补充:b.xml文档的内容是:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>

<catalog>

<category>

<id>55</id>

<name>film</name>

</category>

</catalog>

(4)DOM4j解析XML的方式,代码详解如下:

1) 第一步:引入第三方jar包dom4j-xx.jar。下载链接如下:

http://mvnrepository.com/artifact/dom4j/dom4j/1.6.1

点击Download(JAR)

2) 第二步:代码如下:

Java:XML基本语法、DOM、SAX、JDOM、DOM4J综合对比和代码实战

补充:b.xml文档的内容是:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>

<catalog>

<category>

<id>55</id>

<name>film</name>

</category>

</catalog>

此头条号每天都会分享非常实用的技术文章和笔试题讲解,欢迎大家关注此头条号!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/52574.html

(0)
上一篇 2024-08-10 21:45
下一篇 2024-08-12 10:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信