欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

xml中常见的四种解析方式是什么?

程序员文章站 2022-01-21 21:13:32
...

xml解析方式有:1、DOM解析方法,可以对xml文档进行修改操作;2、SAX解析方法,解析速度快,占用内存少;3、JDOM解析方法,查找方便;4、DOM4J解析方法,解析XML的速度快。

xml中常见的四种解析方式是什么?

在XML的解析方式有很多,但有四种解析方式是最常用的,分别为DOM方法、SAX方法、JDOM方法、DOM4J 方法。

XML简介

XML即可扩展的标记语言,可以定义语义标记(标签),是元标记语言。XML不像超文本标记语言HTML,HTML只能使用规定的标记,对于XML,用户可以定义自己需要的标记。树状模型。

XML文档以层级标签的形式来组织数据,多用于配置文件、存储静态数据、交换数据。

XML语法

1、每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?>

2、任何的起始标签都必须有一个结束标签。

3、标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签。

4、标签如果有属性,属性值必须加双引号。

XML文件解析的四种方式

1、DOM解析方法

DOM,文档对象模型(Document Object Model),是官方推荐的标准。DOM是html和xml文档的编程接口规范,和平台、语言是无关的。利用DOM规范,能够实现DOM 文档和xml之间的相互转换,遍历、操作相应DOM文档的内容。DOM规范的核心就是树模型,全部读取之后再解析。

原理是:首先在内存中创建一个Document对象,然后把XML文档读取进来赋值给这个dom对象。由于dom对象是基于树结构的,所以对dom对象进行遍历即可。对内存中的dom对象可以进行查询、修改、删除操作,还可以写回原XML文档保存修改。

优点:由于整棵树在内存中,因此可以对xml文档随机访问;可以对xml文档进行修改操作
缺点:整个文档必须一次性解析完;由于整个文档都需要载入内存,对于大文档成本高

2、SAX解析方法

SAX,简单应用程序接口(Simple Api For Xml)。非W3C官方所提供的标准,是一个程序员社区研究出来。SAX在概念上与DOM完全不同。非文档驱动,是事件驱动的。事件驱动:一种基于回调机制的程序运行方法。由外至内一层一层解析。

优点:解析速度快,占用内存少,它需要哪些数据再加载和解析哪些内容。

缺点:它不会记录标签的关系,而是需要应用程序自己处理,这样就会增加程序的负担。

3、JDOM解析方法

JDOM是Java和DOM的结合体。JDOM 致力于建立一个完整的基于 Java 平台的、通过 Java 代码来访问、操作并输出 XML 数据。JDOM是用Java语言读、写、操作XML的新API函数。简单、高效、优化。

优点:查找方便,可以修改

缺点:装载整个文档,对内存容量要求高

4、DOM4J解析方法。

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。性能优异功能强大简单易用开放源代码。它是目前最流行、最好用的XML解析工具,解析XML的速度最快。

操作步骤:

1:创建SAXReader:SAXReader reader = new SAXReader();
2:创建文件输入流打开xml文件:InputStream in = new FileInputStream("XXX.xml");
3:通过reader和输入流读取xml文件到内存创建Document对象:Document dom = reader.read(in);
4:获取根节点:Element root=dom.getRootElement();
5:获取子节点列表:List<Element> childNodes = root.elements();
6:遍历子节点:Element node = childNodes.get(i);
7:读取结点信息:
 1)、结点属性值:node.attributeValue("属性名");
 2)、结点名:node.getName();
 3)、结点值:node.getValue();
 4)、子结点文本值:node.elementText("子结点名")

相关视频教程推荐:《XML教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注相关教程栏目!!!

以上就是xml中常见的四种解析方式是什么?的详细内容,更多请关注其它相关文章!