Java XML解析器

时间:2020-02-23 14:37:01  来源:igfitidea点击:

Java XML解析器用于处理xml数据。
XML是广泛用于传输或者存储数据的技术。
这就是为什么有许多可用的Java xml解析器的原因。

Java XML解析器

一些常用的java xml解析器是:

  • DOM解析器
  • SAX解析器
  • StAX解析器
  • JAXB

还有一些其他API可用于Java中的XML解析,例如" JDOM"和" JiBX"。

该Java xml解析器教程旨在探讨各种XML处理API,并学习我们需要使用XML执行的一些常见任务,例如读取,写入和编辑。

Java XML分析器– DOM

DOM解析器是最容易学习的Java xml解析器。
DOM解析器将XML文件加载到内存中,我们可以逐节点遍历该文件以解析XML。
DOM解析器非常适合小型文件,但是当文件大小增加时,它的执行速度会变慢,并占用更多内存。

  • 读取XML文件
    本文介绍如何使用DOM解析器将XML文件解析为对象。

  • 写入XML档案
    本文介绍了如何使用DOM分析器将对象数据写入XML文件。

  • 编辑XML档案
    DOM分析器还可用于编辑XML数据。
    本文介绍了如何使用DOM分析器在XML文档中添加元素,删除元素,编辑元素值以及编辑属性。

Java XML解析器– SAX

Java SAX Parser提供了用于解析XML文档的API。
SAX解析器与DOM解析器不同,因为它不会将完整的XML加载到内存中并顺序读取xml文档。
这是一个基于事件的解析器,我们需要使用回调方法实现Handler类以解析XML文件。
就时间和内存使用而言,它比DOM Parser对大型XML文件更有效。

  • 读取XML文件
    了解如何创建我们的回调处理程序类,以使用SAX Parser将XML文件读取到对象列表。

StAX Java XML解析器

用于XML的Java流API(Java StAX)提供了用于在Java中处理XML的实现。
StAX由两组API组成-基于游标的API和基于迭代器的API。
我已经在不同的文章中广泛介绍了此java xml解析器。

  • 使用StAX Iterator API读取XML文件
    在本教程中,我们将学习如何使用Java StAX(XMLEventReader)迭代读取XML。

  • 使用StAX Iterator API写入XML文件
    在本教程中,我们将看到如何使用基于StAX Iterator的API(XMLEventWriter)在Java中编写XML文件。

  • 使用StAX Cursor API读取XML文件
    本文展示了如何使用StAX Cursor API(XMLStreamReader)将XML数据读取到Object。

  • 使用StAX Cursor API写入XML文件
    Java StAX Cursor API在创建XML和输出XML方面非常直接。
    我们需要创建XMLStreamWriter对象并将数据写入其中。
    本教程将通过示例详细说明。

Java XML解析器– JDOM

JDOM提供了一个出色的Java XML解析器API,可以轻松读取,编辑和写入XML文档。
JDOM提供了包装器类,以从SAX分析器,DOM分析器,STAX事件分析器和STAX流分析器中选择您的基础实现。
使用JDOM的好处是您可以轻松地从SAX切换到DOM,再切换到STAX Parser,可以提供工厂方法来让客户端应用程序选择实现。

  • JDOM读取XML文件
    在本教程中,我们将学习如何使用JDOM XML Parser将XML文件读取到Object。

  • JDOM写入XML文件
    在本教程中,我们将学习如何使用JDOM用Java编写XML文件。
    JDOM Document提供了轻松创建元素和属性的方法。
    XMLOutputter类可用于将文档写入任何OutputStream或者Writer对象。

  • JDOM编辑XML文件
    JDOM提供了一种非常整洁的方式来处理XML文件,使用JDOM非常容易,并且代码看起来清晰易读。
    在本教程中,我们将学习如何添加元素,删除元素,编辑元素值和编辑属性值。

Java XML解析器– JAXB

XML绑定Java体系结构(JAXB)提供了API,可轻松将Object转换为XML以及将XML转换为Object。
JAXB是作为一个单独的项目开发的,但得到了广泛的使用,最终成为Java 6中JDK的一部分。

  • JAXB教程
    使用JAXB非常容易,并且使用批注。
    我们需要注释Java Object来提供XML创建的说明,然后我们必须创建Marshaller来将Object转换为XML。
    Unmarshaller用于将XML转换为Java Object。
    在本教程中,我们将学习使用最广泛的JAXB批注,以及如何将Java对象转换为XML(编组)和将XML转换为Java对象(解组)。

Java XML解析器– JiBX

JiBX是一个非常强大的框架,可以将XML数据转换为Java对象,反之亦然。
它在XML是数据传输格式的应用程序集成中非常有用,例如,基于消息模型(MOM)的Web服务和旧系统集成。

  • JiBX教程
    有许多可用于XML转换的框架,例如JAXB和XMLBeans,但是JiBX在XML绑定和转换过程的方法上有所不同。
    JiBX通过在编译时通过ant脚本生成的实用程序类来执行这些任务。
    这种方法通过将与其他解析器一起使用的传统的两步处理转移到一个步骤,从而减少了处理时间。

XPath

XPath提供了定义XML文档一部分的语法。
XPath表达式是一种查询语言,用于根据查询字符串选择XML文档的一部分。
使用XPath表达式,我们可以在任何xml文档中找到满足查询字符串的节点。

  • XPath教程
    javax.xml.xpath包在Java中提供了XPath支持。
    为了创建XPathExpression,XPath API提供了工厂方法。
    在本教程中,我们将使用XPath查询语言找出满足给定条件的元素。

杂项Java XML解析器任务

  • 在Eclipse中从XSD生成示例XML
    如果您使用网络服务,则必须一直在使用XSD,并且要测试网络服务,则需要从XSD文件生成XML。
    Eclipse提供了一种非常简单的方法来从XSD生成XML。

  • 针对XSD验证XML
    Java XML验证API可用于针对XSD验证XML。
    本教程中使用javax.xml.validation.Validator类来针对xsd文件验证xml文件。

  • Java XML属性文件
    通常,我们将Java应用程序的配置参数存储在属性文件中。
    在java中,属性文件可以是具有键值对的普通属性文件,也可以是XML文件。

在此示例中,我们将学习如何编写XML属性文件,然后从XML属性文件读取属性。

  • SOAP XML
    肥皂是一种基于Xml的传输协议。
    肥皂代表简单对象访问协议。
    Soap是用于交换结构化和类型化信息的轻量级机制。
    由于它基于XML,所以它与语言和平台无关。

在本教程中,您将学习SOAP XML,以及如何使用Liquid XML Studio软件创建它。

  • 格式化XML文档
    一个实用程序类,其中包含用于漂亮地打印XML并将XML Document转换为String以及将String转换为XML文档的方法。

  • 将文档转换为字符串并将字符串转换为文档
    有时在用Java编程时,我们得到的String实际上是XML,并且要对其进行处理,我们需要将其转换为XML Document(org.w3c.dom.Document)。
    同样出于调试目的或者发送给其他功能,我们可能需要将Document对象转换为String。
    将String转换为XML Document和将XML Document转换为String的两种实用方法。