XML解析器是个什么东西
3个回答
推荐于2018-04-10
展开全部
转帖
如需操作某个XML文档,需要XML解析器。解析器会将文档载入电脑的内存中。
最基础的:
基于事件的XML简单API(Simple API for XML)称为SAX,SAX 采用的事件模型。SAX 解析器在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX 对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag。特别是当开发人员只需要处理文档中所包含的部分数据时,SAX 这种扩展能力得到了更好的体现。但用 SAX 解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。
基于树和节点的文档对象模型(Document Object Module)称为DOM,DOM 采用建立树形结构的方式访问。DOM 解析器把 XML 文档转化为一个包含其内容的树,并可以对树进行遍历。用 DOM 解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用 DOM 解析器的时候需要处理整个 XML 文档,所以对性能和内存的要求比较高,尤其是遇到很大的 XML 文件的时候。由于它的遍历能力,DOM 解析器常用于XML文档需要频繁的改变的服务中。
其他上层API:
基于SAX和DOM两者的:
JAXP(Java API for XML Processing)包含javax.xml.parsers和transform;其中parsers包中包括4个主要类SAXParser和SAXParserFactory类创建SAX XMLReader接口例程,DocumentBuilder和DocumentBuilderFactory类创建DOM Document接口例程。
DOM4J:一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
XERCES:Xerces是由Apache组织所推动的一项XML文档解析开源项目,支持文档对象模型(DOM)和XML简单应用编程接口(SAX)。对于DOM解析,有DOMParser和IDOMParser;对于SAX解析,有SAXParser。它目前有多种语言版本包括JAVA、C++、PERL、COM等。
仅基于DOM的:
JDOM:Jason Hunter和Brett McLaughlin开发的项目,JDOM的设计目标就是在读和创建XML时简化DOM,取代DOM。
微软的MSXML解析器:微软的XML解析器是存在于IE 5.0或更高版本中的COM组件。一旦你安装了IE,就可使用脚本来利用解析器了。微软给我们提供XML语法解析器,一个叫做MSXML.DLL的动态链接库(C语言)
仅基于SAX的:
StAX(Streaming API for XML ):JSR-173 提出了一种面向流的新方法。其目的,简化编程,取代SAX。JDK6.0中除了DOM和SAX之外集成的又一种处理XML文档的API。
其他:
XALAN:xalan-java是一套xslt处理器,用来将XML文件转换为HTML,TEXT和XML等其他类型文件格式。支持XSLT1.0和XPATH 1.0版。开发人员可以通过命令行方式或在JAVA APPLET和SERVLET中使用,并可以作为自己开发的应用程序的类库使用。xalan-java实现的是transformation API for XML(TRaX)接口,此接口为jaxp1.2标准中的一部分。
在CLDC环境下运作的开放原始码XML分析器──kXML和NanoXML。Enhydra的KXML是一个只占很小存储空间的XML语法分析程序,对于J2ME应用程序非常适合。
如需操作某个XML文档,需要XML解析器。解析器会将文档载入电脑的内存中。
最基础的:
基于事件的XML简单API(Simple API for XML)称为SAX,SAX 采用的事件模型。SAX 解析器在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX 对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag。特别是当开发人员只需要处理文档中所包含的部分数据时,SAX 这种扩展能力得到了更好的体现。但用 SAX 解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。
基于树和节点的文档对象模型(Document Object Module)称为DOM,DOM 采用建立树形结构的方式访问。DOM 解析器把 XML 文档转化为一个包含其内容的树,并可以对树进行遍历。用 DOM 解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用 DOM 解析器的时候需要处理整个 XML 文档,所以对性能和内存的要求比较高,尤其是遇到很大的 XML 文件的时候。由于它的遍历能力,DOM 解析器常用于XML文档需要频繁的改变的服务中。
其他上层API:
基于SAX和DOM两者的:
JAXP(Java API for XML Processing)包含javax.xml.parsers和transform;其中parsers包中包括4个主要类SAXParser和SAXParserFactory类创建SAX XMLReader接口例程,DocumentBuilder和DocumentBuilderFactory类创建DOM Document接口例程。
DOM4J:一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
XERCES:Xerces是由Apache组织所推动的一项XML文档解析开源项目,支持文档对象模型(DOM)和XML简单应用编程接口(SAX)。对于DOM解析,有DOMParser和IDOMParser;对于SAX解析,有SAXParser。它目前有多种语言版本包括JAVA、C++、PERL、COM等。
仅基于DOM的:
JDOM:Jason Hunter和Brett McLaughlin开发的项目,JDOM的设计目标就是在读和创建XML时简化DOM,取代DOM。
微软的MSXML解析器:微软的XML解析器是存在于IE 5.0或更高版本中的COM组件。一旦你安装了IE,就可使用脚本来利用解析器了。微软给我们提供XML语法解析器,一个叫做MSXML.DLL的动态链接库(C语言)
仅基于SAX的:
StAX(Streaming API for XML ):JSR-173 提出了一种面向流的新方法。其目的,简化编程,取代SAX。JDK6.0中除了DOM和SAX之外集成的又一种处理XML文档的API。
其他:
XALAN:xalan-java是一套xslt处理器,用来将XML文件转换为HTML,TEXT和XML等其他类型文件格式。支持XSLT1.0和XPATH 1.0版。开发人员可以通过命令行方式或在JAVA APPLET和SERVLET中使用,并可以作为自己开发的应用程序的类库使用。xalan-java实现的是transformation API for XML(TRaX)接口,此接口为jaxp1.2标准中的一部分。
在CLDC环境下运作的开放原始码XML分析器──kXML和NanoXML。Enhydra的KXML是一个只占很小存储空间的XML语法分析程序,对于J2ME应用程序非常适合。
2013-07-09
展开全部
XML解析器可以读取、更新、创建、操作一个XML文档
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-09
展开全部
XML是一种数据格式,每一种数据格式都需要一个解析器将其中的信息解析出来为你所用,XML当然也不会例外。你可以用SAX或者DOM来构建这种解析器,当然首先要先确定你需要的数据在文档的什么位置。
验证器是用于验证一个文档是否符合规定格式,这个规则可以是公共的,也可以是私有的。对 XML来说,公共的规则最基本的就是XML本身的完备性,另外就是一些协议比如SVG、WML、XMPP等等;私有的就是说可以自己写一些XML Schema来规定你需要的XML文档格式。
验证器是用于验证一个文档是否符合规定格式,这个规则可以是公共的,也可以是私有的。对 XML来说,公共的规则最基本的就是XML本身的完备性,另外就是一些协议比如SVG、WML、XMPP等等;私有的就是说可以自己写一些XML Schema来规定你需要的XML文档格式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询