Java的语言特点是什么(java语言的主要特点是什么)
718
2022-05-29
文章目录
一.XML文件的概述
(1)什么是XML
(2)XML 与 HTML 的主要差异
(3)XML语法
(4)XML 命名规则
(5)XML作用
(6)XML基本结构
二.XML解析
(1)解析方式
(2)DOM4J相关类
一.XML文件的概述
(1)什么是XML
XML 指可扩展标记语言 所谓的可扩展标记语言,简单说就是指xml文件中的标签可以任意
定义。
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
(2)XML 与 HTML 的主要差异
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
(3)XML语法
XML 标签对大小写敏感
XML 元素都须有关闭标签
XML 文档必须有根元素
XML 的属性值须加引号
(4)XML 命名规则
XML 元素必须遵循以下命名规则:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
(5)XML作用
XML用来在程序间传输数据
XML可用来存储数据(框架的配置信息)
(6)XML基本结构
文档版本声明及编码
1
树形结构:所有标签必须包含在一对根标签中
整个文档是一个document对象
节点
①文档中的某个标签及其包含的内容称为一个节点(标签节点 element)
②标签的某个属性也是一个节点(属性节点 attribute)
③文档中的一个文本也是一个节点(文本节点 Text)
二.XML解析
(1)解析方式
所谓的xml解析就是对xml文件进行读写操作。
Xml解析方式分为两种:
①dom方式(document object model)
即文档对象模型,它是w3c组织推荐的解析xml的一种方式。
②sax方式(simple api for xml)
不是官方标准,它是xml 社区事实上的标准,几乎所有的xml解析器都支持它
dom与sax解析方式,它只一种理论,没有具体API.
dom与sax解析方式区别
dom:
dom解析方式它是将整个xml文件载入内存,以树型结构来存储
dom支持回写 可以对xml文件中内容进行crud操作
如果文件内容比较大,不建议使用dom解析。
Sax
相比dom,sax是一种更为轻量级解决方案
采用串行读取方式,逐行读取,读取一行解析一行。
编程比较复杂
sax只能读取,不能对xml进行修改。
第三方xml解析包
Jaxp(sun标准)
Jdom:专注于写操作(Java对象–>XML文档)
Dom4j:专注于读操作(XML文档–>Java对象)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
根据xml文件创建对应的类
public class Dog { private int id; private String name; private String type; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getType() { return type; } public void setType(String type) { this.type = type; } @Override public String toString() { return "Dog{" + "id=" + id + ", name='" + name + '\'' + ", type='" + type + '\'' + '}'; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
SAXReader Dom4J的读取文件的类
代码实现xml解析
public class Dom4j_Case { public static void main(String[] args) throws Exception { //创建xml读取对象 SAXReader reader=new SAXReader(); //读取要解析的xml文件 Document document=reader.read(new FileInputStream("xml/dogs.xml")); //获取根节点 Element root=document.getRootElement(); //获取所有的直接子标签 List
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
(2)DOM4J相关类
SAXReader 此类用于加载XML文档
构造器:无参构造器
方法: public Document read( String/File…);
SAXReader reader = new SAXReader(); Document doc = reader.read(xmlFileName);
1
2
Document接口
获取根元素: public Element getRootElement();
//通过Document对象调用getRootElement方法获取根元素 Element root = doc.getRootElement();
1
2
Element接口:表示xml文档中的某个元素
//1.获取当前元素的所有属性 List
1
2
3
4
5
6
7
8
Attribute接口:表示xml文件中元素的属性
attr.getName();
attr.getValue();
List
1
2
3
4
5
6
7
8
9
The best investment is in yourself.
2020.03.20 来自辰兮的第33篇博客
Java XML
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。