加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:LSParser和DocumentBuilder有什么区别

发布时间:2020-12-15 00:39:54 所属栏目:Java 来源:网络整理
导读:我在org.w3c.dom.ls.LSParser上找不到任何信息.我知道这是一个界面,但有一个唯一的方法来获得一个具体的对象. DOMImplementationLS factory = (DOMImplementationLS) myXMLDocument.getImplementation();LSParser parser = factory.createLSParser(DOMImplem
我在org.w3c.dom.ls.LSParser上找不到任何信息.我知道这是一个界面,但有一个唯一的方法来获得一个具体的对象.
DOMImplementationLS factory = (DOMImplementationLS) myXMLDocument.getImplementation();
LSParser parser = factory.createLSParser(DOMImplementationLS.MODE_ASYNCHRONOUS,null);

LSParser与javax.xml.parsers.DocumentBuilder(或SAXParser)有何不同

解决方法

首先,SAXParser与javax.xml.parsers.DocumentBuilder和LSParser不同,它通过XML流,而不是构建文档对象模型(DOM).

这让我们解释了javax.xml.parsers.DocumentBuilder和LSParser.
DOM规范具有定义DOM的结构和行为的级别.有三个级别. (1,2和3).
LSParser代表“加载并保存解析器”.此Parser提供对DOM Level 3的支持.它实现了此处定义的行为 – https://www.w3.org/TR/DOM-Level-3-LS/load-save.html.由于LSParser支持DOM Level 3标准,因此它允许事件处理(加载DOM时),保存和过滤.请注意,这是一个规范,因此可以用任何语言实现.

相比之下,javax.xml.parsers.DocumentBuilder是一个基于Java的API(JAXP).这是一个项目,而不是规范.

LSParser规范受到JAXP和SAX项目的影响.它只是标准化了XML的解析和使用DOM.

参考文献:
https://www.amazon.com/Processing-XML-documents-Oracle-JDeveloper/dp/1847196667(参见第7章 – 与本主题相关).

https://www.w3.org/TR/DOM-Level-3-LS/load-save.html(这是完整的规格).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读