1.DocumentBuilderFactory.setNamespaceAware(true)
这个对于handler处理是有影响的,默认是false。如果是true,则parser会首先处理xml的prefix,找到与之对应的namespace,然后作为参数传给handler。否则namspace就是空
2.DocumentBuilderFactory.setValidating(false);
是否验证xml文件,这个验证是DTD验证,默认为false
3.DocumentBuilderFactory.setSchema(schema);
setSchema会使用schema生成一个validator来对被处理想xml先进性验证,然后再发到handler去处理;
4.setXIncludeAware(false);
是否要处理xml中的XInclude节点,默认是false
5.包含机制(XML Inclusions, XInclude)
合并多个 XML 文档
XML 包含机制(XML Inclusions, XInclude)系统可用来合并多个 XML 文档,类似于内置的 XML 外部实体,但是添加了更多特性。可以将一个或多个较小的文档组装成一个大型文档,甚至使用 XPointer 从各组成文档中选取或选择其中的若干部分。
https://www.w3.org/TR/xinclude/?cm_mc_uid=26218274181215040580039&cm_mc_sid_50200000=1504058003
6.DocumentBuilderFactory.setFeature("http://xml.org/sax/features/namespace-prefixes",
true);
可扩展的方法,设置功能标志的值。
功能名称是任何完全限定 URI。XMLReader 可以公开功能值,但却无法改变当前值。有些功能值仅在特定的上下文中不可改变或可以改变,
例如在解析之前、期间或之后, 要求所有的 XMLReaders 支持把 http://xml.org/sax/features/namespaces
设置为 true,
把 http://xml.org/sax/features/namespace-prefixes
设置为 false
参数:
name:功能名称,它是一个完全限定 URI
value:请求的功能值(true 或 false)
feature | 功能 |
http://xml.org/sax/features/namespaces | 打开、关闭名空间处理功能。当正在解析文档时为只读属性,未解析文档的状态下为读写。 |
http://xml.org/sax/features/namespace-prefixes | 报告、不报告名空间前缀。当正在解析文档时为只读属性,未解析文档的状态下为读写。 |
http://xml.org/sax/features/string-interning | 是否将所有的名字等字符串内部化,即使用String.intern()方法处理所有的名字字符串,Xerces目前不支持这个特性,在支持这种特性的解析器上这样可以节省内存空间,但是可能会稍微降低速度。在处理有很多的重复tag的时候打开这个特性可以节约很多空间;由于节省了重新分配内存的时间,反而可能会提高速度。当正在解析文档时为只读属性,未解析文档的状态下为读写。 |
http://xml.org/sax/features/validation | 是否打开校验。当关闭校验的时候可以大大节约内存空间并且大大提高解析速度。因此如果使用的XML文档是可靠的,例如程序生成的,最好关闭校验。当正在解析文档时为只读属性,未解析文档的状态下为读写。 |
http://xml.org/sax/features/external-general-entities | 是否包含外部生成的实体。当正在解析文档时为只读属性,未解析文档的状态下为读写。 |
http://xml.org/sax/features/external-parameter-entities | 是否包含外部的参数,包括外部DTD子集。当正在解析文档时为只读属性,未解析文档的状态下为读写。 |
http://apache.org/xml/features/validation/schema | 是否使用schema。这个特性是apache为Xerces提供的。 |
http://apache.org/xml/features/validation/dynamic | 当设置为true时,仅仅在XML文档指明语法时进行校验,若设置为false,则由http://xml.org/sax/features/validation决定,若其为false则不校验,若为true则校验。 |
http://apache.org/xml/features/validation/warn-on-duplicate-attdef | 是否在遇到重复的属性声明时警告。 |
http://apache.org/xml/features/validation/warn-on-undeclared-elemdef | 是否在遇到未定义的元素的时候警告。 |
http://apache.org/xml/features/allow-java-encodings | 是否允许在XMLDecl和TextDecl使用java的字符编码名。如果设置为false则在遇到java字符编码名的时候会产生一个错误。需要注意的是不是所有的解析器都会允许使用java字符编码名的。 |
http://apache.org/xml/features/continue-after-fatal-error | 是否在发生致命错误后继续进行解析。 |
http://apache.org/xml/features/nonvalidating/load-dtd-grammar | 是否装载DTD语法并且自动增添DTD中定义的缺省值。若http://xml.org/sax/features/validation设置为true则此特性自动设置为true。 |
http://apache.org/xml/features/dom/defer-node-expansion | 这个特性是DOM特性,在这里一起介绍了。是否使用懒惰型节点展开,当这个特性设置为true时,可以提高解析速度并节约内存。这个特性同属性http://apache.org/xml/properties/dom/document-class-name的设置有关。 |
http://apache.org/xml/features/dom/create-entity-ref-nodes | 这个特性是DOM特性,是否用引用的方式建立实体节点,若设置为true则会建立EntityReference节点,若设置为false则会用实际字符串取代实体引用。 |
http://apache.org/xml/features/dom/include-ignorable-whitespace | 这个特性是DOM特性,是否将可以忽略的空白字符串包含在DOM树里面,缺省为true。但是笔者本人一般情况下会设置为false。另外仅仅在打开了校验的情况下才可以判断出来是否有空白字符串。因此这个特性是同http://xml.org/sax/features/validation相关的。 |
相关推荐
7. **易用性**:作为"傻瓜式"操作的API,它应该设计得简洁明了,提供清晰的API接口,使得开发者能够快速上手,无需花费大量时间去学习复杂的XML处理机制。 8. **兼容性和扩展性**:考虑到Java的广泛使用,这个XML...
8. **XML事件处理**:通过StAX(Streaming API for XML)接口,XMLBean还支持基于事件的XML处理,适用于处理大型XML文档或需要低内存占用的情况。 9. **集成其他技术**:XMLBean可以很好地与Spring框架、JAXB等其他...
本文将深入探讨Java XML API中的核心组件,包括SAX(Simple API for XML)、DOM(Document Object Model)以及JAXB(Java Architecture for XML Binding),并讲解它们在XML处理中的应用。 1. SAX解析器 SAX是一种...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件、文档存储等领域。本文将深入探讨XML技术相关的API,...理解这些API的用法和特点,将有助于提高XML处理的效率和灵活性。
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。本篇将详细讲解DOM4J解析...结合API文档和示例代码,你可以深入学习并熟练运用DOM4J进行XML处理。
在Eclipse插件开发中,XML Schema Model API(通常简称为xsd_API)是一个重要的组成部分,它为开发者提供了处理XML Schema文档的强大工具集。XML Schema是一种用于定义XML文档结构和数据类型的语言,而xsd_API则是...
XML_API.rar_dbms_xml api 是一个与数据库管理和XML处理相关的资源包,主要涉及Oracle数据库中的DBMS_XML API。这个API是一组PL/SQL过程和函数,用于在Oracle数据库中操作XML数据。它允许用户生成、解析、查询以及...
在实际开发中,Apache XML Schema API通常与DOM(Document Object Model)、SAX(Simple API for XML)或StAX(Streaming API for XML)等XML解析库结合使用,以构建完整的XML处理解决方案。通过阅读提供的API文档,...
在本文中,我们将主要介绍 .NET Web API 接收 XML 格式数据的相关内容。 XML 格式数据 XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。它的主要特点是人类可读性强,易于解析和生成。但是...
在Java中,XML处理主要涉及以下几个核心API: 1. DOM(Document Object Model):DOM是一种树型结构,将XML文档解析为一系列节点,包括元素、属性、文本等。Java中的`javax.xml.parsers.DocumentBuilderFactory`和`...
默认情况下,WebAPI生成的XML数据会包含命名空间信息,这可能导致客户端处理数据时的不便。本文将深入探讨如何在C#中使用WebAPI去除返回XML数据时的命名空间。 首先,我们需要了解XML命名空间的作用。XML命名空间是...
在这个“dds xml_api1.1”主题中,我们将深入探讨DDS API的XML接口及其在版本1.1中的关键特性。 首先,DDS API通常分为两大部分:IDL(Interface Definition Language)API和XML API。IDL API主要用于编写DDS数据...
"XML实用大全"和"xml学习笔记"将帮助读者全面理解XML,而"Dom4j学习教程+API"则专门针对Java中的XML处理,"htc.doc"则可能提供与HTC相关的技术信息。通过阅读和实践这些文档,开发者能够提升XML处理技能,尤其是使用...
**Simple API for XML (SAX)** 是一种轻量级的解析XML文档的API,它以事件驱动的方式处理XML数据。SAX不存储整个XML文档于内存中,而是逐行读取,这使得它在处理大型XML文件时比DOM(Document Object Model)更高效...
在开发WebAPI应用程序时,我们可能会遇到返回的XML数据包含有命名空间的问题。这可能导致客户端解析数据时出现困难,特别是当客户端不期望或无法处理这些命名空间时。本篇文章将详细探讨如何在VS2013及更高版本的...
Oracle 9i XML API Reference-XDK and Oracle XMLDB文档详细介绍了如何使用Oracle 9i中的XML API及其相关技术,包括XDK和Oracle XML DB。这些技术为开发者提供了强大而灵活的工具,可用于处理各种XML相关的任务。...
在LabVIEW环境中,"Generate XML String with Parser API.vi"可能是一个虚拟仪器(VI),实现了上述XML处理功能。用户可以通过交互界面输入数据,生成XML字符串,同时也可以加载已有的XML配置文件进行查看和编辑。 ...
STAX(Streaming API for XML)是Java平台上的一个XML处理API,它提供了高效且灵活的方式来读取和写入XML文档。STAX的核心理念是事件驱动,即解析XML时,每遇到一个XML元素或属性,都会触发一个相应的事件,程序通过...
- **StAX(Streaming API for XML)**:Java SE 6引入了StAX,一个流式API,允许开发人员以迭代方式读取和写入XML,提高了性能和内存效率,特别适用于处理大型XML文档。 - **DOM Level 3**:Document Object Model...
淘宝API是淘宝开放平台提供的一系列接口,允许开发者通过这些接口与淘宝系统进行交互,实现各种功能,如商品管理、订单处理、用户信息获取等。5ufnali可能是特定的API调用标识或者一个特定的功能模块。XML...