• 技术文章 >后端开发 >XML/RSS教程

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

    青灯夜游青灯夜游2020-09-08 16:00:50原创12347

    xml解析方式有:1、DOM解析方法,可以对xml文档进行修改操作;2、SAX解析方法,解析速度快,占用内存少;3、JDOM解析方法,查找方便;4、DOM4J解析方法,解析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教程

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

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

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:xml 解析方式 JDOM DOM DOM4J SAX
    上一篇:XPath是什么 下一篇:XML是什么,有什么作用
    第16期线上培训班

    相关文章推荐

    • json与XML之间的区别比较• 相较于XML使用JSON有什么好处• xml和html之间的区别有哪些• xml解析器是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网