`
步行者
  • 浏览: 169823 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

DOM 与 DOM 解析详解(二)关于 DOMImplementation

    博客分类:
  • XML
阅读更多

关于DOMImplementation 示例讲解(讲解请见注释)

 

package Test_DOM;

import org.w3c.dom.DOMImplementation;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;

import static java.lang.System.out;

public class Test {

	public static void main(String[] args) throws ParserConfigurationException {
		DocumentBuilderFactory builderFactory = DocumentBuilderFactory
				.newInstance();
		DocumentBuilder builder = builderFactory.newDocumentBuilder();
		
		/*
		 * DOMImplementation 接口为执行独立于文档对象模型的任何特定实例的操作提供了许多方法。
		 * 如 hasFeature() 方法和 getFeature() 方法。
		 */
		DOMImplementation domImplementation = builder.getDOMImplementation();
		String[][] features = new String[][] { 
				{ "XML", "1.0" },
				{ "XHTML", "5.0" }, 
				{ "XPATH", "1.0" }};
		for (String[] feature : features) {
			/*
			 * hasFeature()方法 测试 DOM 实现是否实现在其中指定的特定特性和版本。
			 */
			boolean hasFeature = domImplementation.hasFeature(feature[0], feature[1]);
			out.println("hasFeature("+feature[0]+","+feature[1]+") = " + hasFeature);
			if(hasFeature){
				/*
				 * getFeature()此方法返回一个特定的对象,该对象实现了所指定的特定特性或版本的特殊 API。
				 */
				Object featureObj = domImplementation.getFeature(feature[0], feature[1]);
				out.println("  featureObject's class is "+featureObj.getClass().getName());
			}
		}
	}

}
 

运行输出如下:


  hasFeature(XML,1.0) = true
    featureObject's class is com.sun.org.apache.xerces.internal.dom.CoreDOMImplementationImpl
  hasFeature(XHTML,5.0) = false
  hasFeature(XPATH,1.0) = false

 

 

 

 

 

 

2
0
分享到:
评论

相关推荐

    DOM 文档对象模型

    #### 二、DOM 的结构与特点 DOM 将文档视为一个由节点组成的层次化结构,每个节点代表文档中的某个元素或属性。这种层次化的结构使得开发者能够方便地在文档中导航和检索信息。例如,在处理 HTML 页面时,可以轻松...

    XMLDom.zip_XML文档

    5. **XPath和XSLT**:DOM通常与XPath(XML路径语言)和XSLT(XML样式表转换语言)结合使用,XPath用于快速定位XML文档中的节点,XSLT用于转换XML文档结构。DOM提供接口来执行XPath查询和应用XSLT转换。 6. **性能和...

    xerces-c-src_2.6.0.rar_XML解析_linux xml_xerces_2_6 linux_xml解析 c+

    《Xerces-C++ XML解析器在Linux环境下的应用与实践》 XML(eXtensible Markup Language)作为一种通用的数据交换格式,广泛应用于各种软件系统之间的数据交互。在Linux环境中,Xerces-C++是一个强大的开源XML解析库...

    xmldom:基于纯 JavaScript W3C 标准(XML DOM Level 2 Core)的 DOMParser 和 XMLSerializer 模块

    XMLDOM xmldom 是一个 javascript 用于浏览器支持的以下 API: 将 XML 字符串转换为 DOM 树( new DOMParser().parseFromString(xml, mimeType) => Document ) 创建、访问和修改 DOM 树( new DOMImplementation()....

    Visual C++解析读写XML文件,纯原生源代码, 无需安装三方库!

    可以使用`DOMImplementation`的`createDocumentType`和`createElement`方法创建XML文档结构,然后使用`DOMDocument::saveXML`或`DOMElement::write`方法输出。 6. **错误处理**: - 需要注意XML文档的格式验证,...

    xerces-c-src-2-8-0安装&开发文档.docx

    Xerces-C++ 是一个开源的XML解析器,主要用于处理XML文档,支持DOM(Document Object Model)和SAX(Simple API for XML)两种解析模式。本文档主要介绍如何安装Xerces-C++ 2.8.0版本以及进行相关的开发工作。 ### ...

    Xerces-c++指南

    9. 对象销毁:当一个DOMDocument对象被释放后,所有与此对象相关的子对象以及其所拥有的对象(如DOMRange, DOMTreeWalker, DOMNodeIterator或任何孤立的节点)也将被释放。 10. 异常行为:访问一个被释放的对象将...

    webkit研究报告

    - **DOMImplementation**:DOM 实现的接口,用于创建新的文档。 **二. 一个 Http 请求在 WebCore 中的主要流程** **1. WebKit 工作流程** 当 WebKit 接收到一个 HTTP 请求时,会经过以下主要步骤: 1. **请求...

    Delphi_中的_XMLDocument_类详解

    #### 二、类方法详解 ##### 1. **AddChild** - **函数原型:** ```delphi function AddChild(const TagName: DOMString): IXMLNode; overload; function AddChild(const TagName, NamespaceURI: DOMString): ...

    谷歌搜索框XSS漫谈.pdf

    在这个特定的情况下,漏洞的关键在于parser bug和差异,即后端解析器与前端浏览器解析器之间存在的不一致。 首先,我们需要理解什么是parser bugs。Parser bugs是指在解析符合特定标准的文本时,由于程序实现的错误...

    javascript节点操作

    - **定义**:返回当前实现DOM接口的`DOMImplementation`对象。通常用于创建新的文档对象。 9. **lastChild** - **定义**:返回节点的最后一个子节点。如果节点没有任何子节点,则返回`null`。 10. **nextSibling...

    tooksJava.rar_JavaScript/JQuery_Java_

    - `DOMImplementation.java`:提供了创建新的DOM文档、实现特定功能的方法,是所有DOM实现的抽象基类。 - `Text.java`:表示文档中的纯文本。 - `jaCharacterData.java`:可能是`CharacterData.java`的误拼,表示...

    使用PYTHON创建XML文档

    当用GOOGLE查的时候,内容几乎都是一样的。但是你想要的东西,一个也没有。... 复制代码 代码如下: import xml.dom.minidom from xml.dom.DOMImplementation import implementation import xml.sax.writer import x

    python基于xml parse实现解析cdatasection数据

    本文实例讲述了python基于xml parse实现解析cdatasection数据的方法,分享给大家供大家参考。 具体实现方法如下: from xml.dom.minidom import * implementation = DOMImplementation() print Core:%s % ...

    htmlunit用到的jar包

    4. **xml-apis.jar**:XML API集合,提供了XML解析的基础接口和类,如`DocumentBuilderFactory`和`DOMImplementation`,这些在处理XML文档时非常关键。 5. **commons-codec.jar**:Apache Commons Codec库,包含...

    IE8 新增的Javascript 开发接口说明

    14. DOMImplementation Constructor:DOM实现构造器定义了与DOM实现相关的属性和方法,例如创建新的文档类型或检查DOM支持的功能。 这些接口的引入显著增强了IE8中JavaScript的DOM操作和浏览器功能的访问能力,为...

    python3.6.5参考手册 chm

    Python参考手册,官方正式版参考手册,chm版。以下摘取部分内容:Navigation index modules | next | Python » 3.6.5 Documentation » Python Documentation contents What’s New in Python ...

    JavaScript操作XML/HTML比较常用的对象属性集锦

    在介绍JavaScript操作XML/HTML时,常用到一系列对象属性和方法来操作DOM(文档对象模型),这些属性和方法允许开发者对XML/HTML文档进行读取、创建和修改。本篇文章将详细介绍一些在JavaScript中操作XML/HTML时经常...

Global site tag (gtag.js) - Google Analytics