Most visited

Recently visited

Added in API level 1

Document

public interface Document
implements Node

org.w3c.dom.Document


Document界面表示整个HTML或XML文档。 从概念上讲,它是文档树的根,并提供对文档数据的主要访问权限。

由于元素,文本节点,注释,处理指令等不能存在于Document的上下文Document ,因此Document接口还包含创建这些对象所需的工厂方法。 创建的Node对象具有一个ownerDocument属性,该属性将它们与Document关联起来,在该Document内创建它们。

另见 Document Object Model (DOM) Level 3 Core Specification

Summary

Inherited constants

From interface org.w3c.dom.Node

Public methods

abstract Node adoptNode(Node source)

尝试从另一个文档中采用节点到此文档。

abstract Attr createAttribute(String name)

创建一个给定名称的 Attr

abstract Attr createAttributeNS(String namespaceURI, String qualifiedName)

创建给定的限定名称和名称空间URI的属性。

abstract CDATASection createCDATASection(String data)

创建一个 CDATASection节点,其值是指定的字符串。

abstract Comment createComment(String data)

给定指定的字符串,创建一个 Comment节点。

abstract DocumentFragment createDocumentFragment()

创建一个空的 DocumentFragment对象。

abstract Element createElement(String tagName)

创建指定类型的元素。

abstract Element createElementNS(String namespaceURI, String qualifiedName)

创建给定的限定名称和名称空间URI的元素。

abstract EntityReference createEntityReference(String name)

创建一个 EntityReference对象。

abstract ProcessingInstruction createProcessingInstruction(String target, String data)

给定指定的名称和数据字符串,创建一个 ProcessingInstruction节点。

abstract Text createTextNode(String data)

给定指定的字符串创建一个 Text节点。

abstract DocumentType getDoctype()

与此文档相关的文档类型声明(请参阅 DocumentType )。

abstract Element getDocumentElement()

这是一个便利的属性,允许直接访问作为文档文档元素的子节点。

abstract String getDocumentURI()

文档的位置或 null如果未定义)或者 Document是使用 DOMImplementation.createDocument创建的。

abstract DOMConfiguration getDomConfig()

调用 Document.normalizeDocument()时使用的配置。

abstract Element getElementById(String elementId)

返回具有给定值的ID属性的 Element

abstract NodeList getElementsByTagName(String tagname)

返回 NodeList所有的 Elements文档顺序与给定的标签名称,包含在文档中。

abstract NodeList getElementsByTagNameNS(String namespaceURI, String localName)

以文档顺序返回包含给定本地名称和名称空间URI的所有 NodeList中的 Elements

abstract DOMImplementation getImplementation()

处理此文档的 DOMImplementation对象。

abstract String getInputEncoding()

解析时指定用于此文档的编码的属性。

abstract boolean getStrictErrorChecking()

指定是否强制执行错误检查的属性。

abstract String getXmlEncoding()

作为 XML declaration的一部分的属性,指定此文档的编码。

abstract boolean getXmlStandalone()

作为 XML declaration的一部分指定此文档是否是独立的属性。

abstract String getXmlVersion()

作为 XML declaration的一部分的属性指定了此文档的版本号。

abstract Node importNode(Node importedNode, boolean deep)

将另一个文档中的节点导入到此文档中,而不更改或从原始文档中删除源节点; 此方法将创建源节点的新副本。

abstract void normalizeDocument()

这种方法就好像文档正在经历保存和加载循环一样,将文档置于“正常”形式。

abstract Node renameNode(Node n, String namespaceURI, String qualifiedName)

重命名类型为 ELEMENT_NODEATTRIBUTE_NODE的现有节点。

abstract void setDocumentURI(String documentURI)

文档的位置或 null如果未定义或者 Document是使用 DOMImplementation.createDocument创建的。

abstract void setStrictErrorChecking(boolean strictErrorChecking)

指定是否强制执行错误检查的属性。

abstract void setXmlStandalone(boolean xmlStandalone)

作为 XML declaration的一部分指定该文档是否是独立的属性。

abstract void setXmlVersion(String xmlVersion)

作为 XML declaration的一部分的属性指定了此文档的版本号。

Inherited methods

From interface org.w3c.dom.Node

Public methods

adoptNode

Added in API level 8
Node adoptNode (Node source)

尝试从另一个文档中采用节点到此文档。 如果支持,它会更改源节点的子节点ownerDocument以及附加属性节点(如果有)。 如果源节点有父节点,则首先将其从父节点的子节点列表中删除。 这有效地允许将子树从一个文档移动到另一个文档(与创建源节点的副本而不是移动它的importNode()不同)。 当它失败时,应用程序应该使用Document.importNode()来代替。 请注意,如果采用的节点已经是本文档的一部分(即源文档和目标文档相同),则此方法仍具有将源节点从其父节点的子节点列表中删除的效果(如果有)。 以下列表描述了每种节点的具体情况。

ATTRIBUTE_NODE
The ownerElement attribute is set to null and the specified flag is set to true on the adopted Attr. The descendants of the source Attr are recursively adopted.
DOCUMENT_FRAGMENT_NODE
The descendants of the source node are recursively adopted.
DOCUMENT_NODE
Document nodes cannot be adopted.
DOCUMENT_TYPE_NODE
DocumentType nodes cannot be adopted.
ELEMENT_NODE
Specified attribute nodes of the source element are adopted. Default attributes are discarded, though if the document being adopted into defines default attributes for this element name, those are assigned. The descendants of the source element are recursively adopted.
ENTITY_NODE
Entity nodes cannot be adopted.
ENTITY_REFERENCE_NODE
Only the EntityReference node itself is adopted, the descendants are discarded, since the source and destination documents might have defined the entity differently. If the document being imported into provides a definition for this entity name, its value is assigned.
NOTATION_NODE
Notation nodes cannot be adopted.
PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
These nodes can all be adopted. No specifics.

注意:由于不会像 Document.importNode()方法那样创建新节点,因此此方法不会引发 INVALID_CHARACTER_ERR异常,并且应用程序应使用 Document.normalizeDocument()方法根据所使用的XML版本检查导入的名称是否不是XML名称。

Parameters
source Node: The node to move into this document.
Returns
Node The adopted node, or null if this operation fails, such as when the source node comes from a different implementation.
Throws
DOMException NOT_SUPPORTED_ERR: Raised if the source node is of type DOCUMENT, DOCUMENT_TYPE.
NO_MODIFICATION_ALLOWED_ERR: Raised when the source node is readonly.

createAttribute

Added in API level 1
Attr createAttribute (String name)

创建一个给定名称的Attr 需要注意的是Attr实例然后可以上设置Element使用setAttributeNode方法。
要使用限定名称和名称空间URI创建属性,请使用createAttributeNS方法。

Parameters
name String: The name of the attribute.
Returns
Attr A new Attr object with the nodeName attribute set to name, and localName, prefix, and namespaceURI set to null. The value of the attribute is the empty string.
Throws
DOMException INVALID_CHARACTER_ERR: Raised if the specified name is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.

createAttributeNS

Added in API level 1
Attr createAttributeNS (String namespaceURI, 
                String qualifiedName)

创建给定的限定名称和名称空间URI的属性。
根据[ XML Namespaces ],如果应用程序希望没有命名空间,则必须将值null用作方法的namespaceURI参数。

Parameters
namespaceURI String: The namespace URI of the attribute to create.
qualifiedName String: The qualified name of the attribute to instantiate.
Returns
Attr A new Attr object with the following attributes:
Attribute Value
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix prefix, extracted from qualifiedName, or null if there is no prefix
Node.localName local name, extracted from qualifiedName
Attr.name qualifiedName
Node.nodeValue the empty string
Throws
DOMException INVALID_CHARACTER_ERR: Raised if the specified qualifiedName is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.
NAMESPACE_ERR: Raised if the qualifiedName is a malformed qualified name, if the qualifiedName has a prefix and the namespaceURI is null, if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from " http://www.w3.org/XML/1998/namespace", if the qualifiedName or its prefix is "xmlns" and the namespaceURI is different from "http://www.w3.org/2000/xmlns/", or if the namespaceURI is "http://www.w3.org/2000/xmlns/" and neither the qualifiedName nor its prefix is "xmlns".
NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.

createCDATASection

Added in API level 1
CDATASection createCDATASection (String data)

创建一个 CDATASection节点,其值是指定的字符串。

Parameters
data String: The data for the CDATASection contents.
Returns
CDATASection The new CDATASection object.
Throws
DOMException NOT_SUPPORTED_ERR: Raised if this document is an HTML document.

createComment

Added in API level 1
Comment createComment (String data)

给定指定的字符串创建一个 Comment节点。

Parameters
data String: The data for the node.
Returns
Comment The new Comment object.

createDocumentFragment

Added in API level 1
DocumentFragment createDocumentFragment ()

创建一个空的 DocumentFragment对象。

Returns
DocumentFragment A new DocumentFragment.

createElement

Added in API level 1
Element createElement (String tagName)

创建指定类型的元素。 请注意,返回的实例实现了Element接口,因此可以直接在返回的对象上指定属性。
另外,如果已知属性具有默认值, Attr表示它们的节点将自动创建并附加到该元素。
要使用限定名称和名称空间URI创建元素,请使用createElementNS方法。

Parameters
tagName String: The name of the element type to instantiate. For XML, this is case-sensitive, otherwise it depends on the case-sensitivity of the markup language in use. In that case, the name is mapped to the canonical form of that markup by the DOM implementation.
Returns
Element A new Element object with the nodeName attribute set to tagName, and localName, prefix, and namespaceURI set to null.
Throws
DOMException INVALID_CHARACTER_ERR: Raised if the specified name is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.

createElementNS

Added in API level 1
Element createElementNS (String namespaceURI, 
                String qualifiedName)

创建给定的限定名称和名称空间URI的元素。
根据[ XML Namespaces ],如果应用程序希望没有命名空间,则必须将值null用作方法的namespaceURI参数。

Parameters
namespaceURI String: The namespace URI of the element to create.
qualifiedName String: The qualified name of the element type to instantiate.
Returns
Element A new Element object with the following attributes:
Attribute Value
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix prefix, extracted from qualifiedName, or null if there is no prefix
Node.localName local name, extracted from qualifiedName
Element.tagName qualifiedName
Throws
DOMException INVALID_CHARACTER_ERR: Raised if the specified qualifiedName is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.
NAMESPACE_ERR: Raised if the qualifiedName is a malformed qualified name, if the qualifiedName has a prefix and the namespaceURI is null, or if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from " http://www.w3.org/XML/1998/namespace" [XML Namespaces] , or if the qualifiedName or its prefix is "xmlns" and the namespaceURI is different from "http://www.w3.org/2000/xmlns/", or if the namespaceURI is "http://www.w3.org/2000/xmlns/" and neither the qualifiedName nor its prefix is "xmlns".
NOT_SUPPORTED_ERR: Always thrown if the current document does not support the "XML" feature, since namespaces were defined by XML.

createEntityReference

Added in API level 1
EntityReference createEntityReference (String name)

创建一个EntityReference对象。 此外,如果引用的实体是已知的,的子列表EntityReference节点由相同相应的Entity节点。

注意:如果Entity节点的任何后代具有未绑定的名称空间前缀,则创建的EntityReference节点的相应后代也将被解除绑定; (其namespaceURInull )。 在这种情况下,DOM级别2和3不支持任何解析名称空间前缀的机制。

Parameters
name String: The name of the entity to reference.Unlike Document.createElementNS or Document.createAttributeNS, no namespace well-formed checking is done on the entity name. Applications should invoke Document.normalizeDocument() with the parameter " namespaces" set to true in order to ensure that the entity name is namespace well-formed.
Returns
EntityReference The new EntityReference object.
Throws
DOMException INVALID_CHARACTER_ERR: Raised if the specified name is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.
NOT_SUPPORTED_ERR: Raised if this document is an HTML document.

createProcessingInstruction

Added in API level 1
ProcessingInstruction createProcessingInstruction (String target, 
                String data)

给定指定的名称和数据字符串,创建一个 ProcessingInstruction节点。

Parameters
target String: The target part of the processing instruction.Unlike Document.createElementNS or Document.createAttributeNS, no namespace well-formed checking is done on the target name. Applications should invoke Document.normalizeDocument() with the parameter " namespaces" set to true in order to ensure that the target name is namespace well-formed.
data String: The data for the node.
Returns
ProcessingInstruction The new ProcessingInstruction object.
Throws
DOMException INVALID_CHARACTER_ERR: Raised if the specified target is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.
NOT_SUPPORTED_ERR: Raised if this document is an HTML document.

createTextNode

Added in API level 1
Text createTextNode (String data)

给定指定的字符串,创建一个 Text节点。

Parameters
data String: The data for the node.
Returns
Text The new Text object.

getDoctype

Added in API level 1
DocumentType getDoctype ()

与此文档相关的文档类型声明(请参阅DocumentType )。 对于没有文档类型声明的XML文档,返回null 对于HTML文档,可以返回DocumentType对象,而DocumentType HTML文档中是否存在文档类型声明。
这提供了直接访问DocumentType节点,这个Document子节点。 该节点可以在文档创建时设置,并且可以通过使用子节点操作方法(如Node.insertBeforeNode.replaceChild 但是请注意,虽然有些实现可以实例化不同类型的Document对象支持更多的功能比“芯”,如“HTML” [ DOM Level 2 HTML ]的基础上, DocumentType在创建时指定的,后来改变是不太可能导致在支持的功能的变化。

Returns
DocumentType

getDocumentElement

Added in API level 1
Element getDocumentElement ()

这是一个便利的属性,允许直接访问作为文档文档元素的子节点。

Returns
Element

getDocumentURI

Added in API level 8
String getDocumentURI ()

文档的位置或null如果未定义或者Document是使用DOMImplementation.createDocument创建的。 设置此属性时不执行词法检查; 这可能会导致在使用Node.baseURI时返回null值。
请注意,当Document支持“HTML”[ DOM Level 2 HTML ]特性时,在计算Node.baseURI时,HTML BASE元素的href属性优先于此属性。

Returns
String

getDomConfig

Added in API level 8
DOMConfiguration getDomConfig ()

调用 Document.normalizeDocument()时使用的配置。

Returns
DOMConfiguration

getElementById

Added in API level 1
Element getElementById (String elementId)

返回具有给定值的ID属性的Element 如果不存在这样的元素,则返回null 如果多个元素具有带该值的ID属性,则返回的内容是未定义的。
预计DOM实现将使用属性Attr.isId来确定属性是否为类型ID。

注意:名称为“ID”或“id”的属性不具有类型ID,除非如此定义。

Parameters
elementId String: The unique id value for an element.
Returns
Element The matching element or null if there is none.

getElementsByTagName

Added in API level 1
NodeList getElementsByTagName (String tagname)

返回 NodeList所有的 Elements文档顺序与给定的标签名称,包含在文档中。

Parameters
tagname String: The name of the tag to match on. The special value "*" matches all tags. For XML, the tagname parameter is case-sensitive, otherwise it depends on the case-sensitivity of the markup language in use.
Returns
NodeList A new NodeList object containing all the matched Elements.

getElementsByTagNameNS

Added in API level 1
NodeList getElementsByTagNameNS (String namespaceURI, 
                String localName)

以文档顺序返回包含给定本地名称和名称空间URI的所有 NodeList中的 Elements

Parameters
namespaceURI String: The namespace URI of the elements to match on. The special value "*" matches all namespaces.
localName String: The local name of the elements to match on. The special value "*" matches all local names.
Returns
NodeList A new NodeList object containing all the matched Elements.

getImplementation

Added in API level 1
DOMImplementation getImplementation ()

处理此文档的DOMImplementation对象。 DOM应用程序可以使用来自多个实现的对象。

Returns
DOMImplementation

getInputEncoding

Added in API level 8
String getInputEncoding ()

解析时指定用于此文档的编码的属性。 这是null当它不知道时,例如当Document在内存中创建时。

Returns
String

getStrictErrorChecking

Added in API level 8
boolean getStrictErrorChecking ()

指定是否强制执行错误检查的属性。 当设置为false ,该实现可以免费测试通常在DOM操作中定义的每个可能的错误情况,并且在使用Document.normalizeDocument()不会引发DOM操作的任何DOMException或报告错误。 如果出现错误,则行为未定义。 该属性默认为true

Returns
boolean

getXmlEncoding

Added in API level 8
String getXmlEncoding ()

作为XML declaration的一部分指定此文档的编码的属性。 这是null未指定时或未知时,例如当Document在内存中创建时。

Returns
String

getXmlStandalone

Added in API level 8
boolean getXmlStandalone ()

作为XML declaration的一部分指定此文档是否独立的属性。 未指定时,这是false

注意:设置此属性时,不会验证该值。 应用程序应使用Document.normalizeDocument()与“验证”参数,以验证值相匹配的validity constraint for standalone document declaration如[定义XML 1.0

Returns
boolean

getXmlVersion

Added in API level 8
String getXmlVersion ()

作为XML declaration的一部分指定此文档的版本号的属性。 如果没有声明并且本文档支持“XML”功能,则值为"1.0" 如果此文档不支持“XML”功能,则该值始终为null 更改此属性将影响检查XML名称中的无效字符的方法。 应用程序应调用Document.normalizeDocument()以检查Node中已经包含此Document无效字符。
DOM应用程序可以使用参数值分别为“XMLVersion”和“1.0”的DOMImplementation.hasFeature(feature, version)方法来确定实现是否支持[ XML 1.0 ]。 DOM应用程序可以使用与参数值“XMLVersion”和“1.1”(分别)相同的方法来确定实现是否支持[ XML 1.1 ]。 在这两种情况下,为了支持XML,实现还必须支持本规范中定义的“XML”特性。 Document支持“XMLVersion”功能版本的对象在使用Document.xmlVersionDocument.xmlVersion为相同版本号引发NOT_SUPPORTED_ERR异常。

Returns
String

importNode

Added in API level 1
Node importNode (Node importedNode, 
                boolean deep)

将另一个文档中的节点导入到此文档中,而不更改或从原始文档中删除源节点; 此方法将创建源节点的新副本。 返回的节点没有父节点; parentNodenull )。
所有节点,导入节点创建由进口文档拥有的节点对象,具有属性值相同的源节点的nodeNamenodeType ,加上与命名空间属性( prefixlocalName ,和namespaceURI )。 如在cloneNode操作中那样,源节点没有改变。 与导入的节点关联的用户数据不会被结转。 但是,如果已经指定了任何UserDataHandlers以及相关数据,则在此方法返回之前,将使用适当的参数调用这些处理程序。
如果将XML或HTML源代码的片段从一个文档复制到另一个文档, nodeType尝试将期望的行为镜像到适用于nodeType其他信息,并认为这两个文档在XML情况下可能具有不同的DTD。 以下列表描述了每种节点的具体情况。

ATTRIBUTE_NODE
The ownerElement attribute is set to null and the specified flag is set to true on the generated Attr. The descendants of the source Attr are recursively imported and the resulting nodes reassembled to form the corresponding subtree. Note that the deep parameter has no effect on Attr nodes; they always carry their children with them when imported.
DOCUMENT_FRAGMENT_NODE
If the deep option was set to true, the descendants of the source DocumentFragment are recursively imported and the resulting nodes reassembled under the imported DocumentFragment to form the corresponding subtree. Otherwise, this simply generates an empty DocumentFragment.
DOCUMENT_NODE
Document nodes cannot be imported.
DOCUMENT_TYPE_NODE
DocumentType nodes cannot be imported.
ELEMENT_NODE
Specified attribute nodes of the source element are imported, and the generated Attr nodes are attached to the generated Element. Default attributes are not copied, though if the document being imported into defines default attributes for this element name, those are assigned. If the importNode deep parameter was set to true, the descendants of the source element are recursively imported and the resulting nodes reassembled to form the corresponding subtree.
ENTITY_NODE
Entity nodes can be imported, however in the current release of the DOM the DocumentType is readonly. Ability to add these imported nodes to a DocumentType will be considered for addition to a future release of the DOM.On import, the publicId, systemId, and notationName attributes are copied. If a deep import is requested, the descendants of the the source Entity are recursively imported and the resulting nodes reassembled to form the corresponding subtree.
ENTITY_REFERENCE_NODE
Only the EntityReference itself is copied, even if a deep import is requested, since the source and destination documents might have defined the entity differently. If the document being imported into provides a definition for this entity name, its value is assigned.
NOTATION_NODE
Notation nodes can be imported, however in the current release of the DOM the DocumentType is readonly. Ability to add these imported nodes to a DocumentType will be considered for addition to a future release of the DOM.On import, the publicId and systemId attributes are copied. Note that the deep parameter has no effect on this type of nodes since they cannot have any children.
PROCESSING_INSTRUCTION_NODE
The imported node copies its target and data values from those of the source node.Note that the deep parameter has no effect on this type of nodes since they cannot have any children.
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
These three types of nodes inheriting from CharacterData copy their data and length attributes from those of the source node.Note that the deep parameter has no effect on these types of nodes since they cannot have any children.

Parameters
importedNode Node: The node to import.
deep boolean: If true, recursively import the subtree under the specified node; if false, import only the node itself, as explained above. This has no effect on nodes that cannot have any children, and on Attr, and EntityReference nodes.
Returns
Node The imported node that belongs to this Document.
Throws
DOMException NOT_SUPPORTED_ERR: Raised if the type of node being imported is not supported.
INVALID_CHARACTER_ERR: Raised if one of the imported names is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute. This may happen when importing an XML 1.1 [XML 1.1] element into an XML 1.0 document, for instance.

normalizeDocument

Added in API level 8
void normalizeDocument ()

这种方法就好像文档正在经历保存和加载循环一样,将文档置于“正常”形式。 因此,此方法会更新EntityReference节点的替换树并标准化Text节点,如方法Node.normalize()所定义。
否则,实际结果取决于在Document.domConfig对象上设置的功能以及管理实际发生的操作。 值得注意的是,这种方法还可以使文档名称空间按照其中所述的算法良好地形成,检查字符规范化,删除CDATASection节点等。有关详细信息,请参阅DOMConfiguration

// Keep in the document
 the information defined // in the XML Information Set (Java example)
 DOMConfiguration docConfig = myDocument.getDomConfig();
 docConfig.setParameter("infoset", Boolean.TRUE);
 myDocument.normalizeDocument();

Mutation events, when supported, are generated to reflect the changes occurring on the document.
If errors occur during the invocation of this method, such as an attempt to update a read-only node or a Node.nodeName contains an invalid character according to the XML version in use, errors or warnings ( DOMError.SEVERITY_ERROR or DOMError.SEVERITY_WARNING) will be reported using the DOMErrorHandler object associated with the "error-handler " parameter. Note this method might also report fatal errors ( DOMError.SEVERITY_FATAL_ERROR) if an implementation cannot recover from an error.

renameNode

Added in API level 8
Node renameNode (Node n, 
                String namespaceURI, 
                String qualifiedName)

重命名类型ELEMENT_NODEATTRIBUTE_NODE的现有节点。
在可能的情况下,只需更改给定节点的名称,否则将创建具有指定名称的新节点,并用新节点替换现有节点,如下所述。
如果仅仅更改给定节点的名称是不可能的,则执行以下操作:创建新节点,在新节点上注册任何已注册的事件侦听器,附加到旧节点的任何用户数据将从该节点中删除,如果旧节点具有一个,则将旧节点从它的父节点移除,将子节点移动到新节点,如果重命名节点为Element其属性移动到新节点,将新节点插入旧节点使用的位置如果它的父节点的子节点列表中有,则连接到旧节点的用户数据将附加到新节点。
当被重命名的节点是Element只移动指定的属性,根据新的元素名称更新源自DTD的默认属性。 另外,该实现可以更新来自其他模式的默认属性。 应用程序应该使用Document.normalizeDocument()来保证这些属性是最新的。
当要重命名的节点是Attr附接到一个Element ,节点首先从除去Element属性地图。 然后,一旦重新命名,无论是通过修改现有的节点还是创建一个新的节点,它都会被放回。
此外,

  • a user data event NODE_RENAMED is fired,
  • when the implementation supports the feature "MutationNameEvents", each mutation operation involved in this method fires the appropriate event, and in the end the event { http://www.w3.org/2001/xml-events, DOMElementNameChanged} or { http://www.w3.org/2001/xml-events, DOMAttributeNameChanged} is fired.

Parameters
n Node: The node to rename.
namespaceURI String: The new namespace URI.
qualifiedName String: The new qualified name.
Returns
Node The renamed node. This is either the specified node or the new node that was created to replace the specified node.
Throws
DOMException NOT_SUPPORTED_ERR: Raised when the type of the specified node is neither ELEMENT_NODE nor ATTRIBUTE_NODE, or if the implementation does not support the renaming of the document element.
INVALID_CHARACTER_ERR: Raised if the new qualified name is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.
WRONG_DOCUMENT_ERR: Raised when the specified node was created from a different document than this document.
NAMESPACE_ERR: Raised if the qualifiedName is a malformed qualified name, if the qualifiedName has a prefix and the namespaceURI is null, or if the qualifiedName has a prefix that is "xml" and the namespaceURI is different from " http://www.w3.org/XML/1998/namespace" [XML Namespaces] . Also raised, when the node being renamed is an attribute, if the qualifiedName, or its prefix, is "xmlns" and the namespaceURI is different from "http://www.w3.org/2000/xmlns/".

setDocumentURI

Added in API level 8
void setDocumentURI (String documentURI)

文档的位置或null如果未定义或者Document是使用DOMImplementation.createDocument创建的。 设置此属性时不执行词法检查; 这可能会导致在使用Node.baseURI时返回null值。
请注意,当Document支持“HTML”[ DOM Level 2 HTML ]功能时,在计算Node.baseURI时,HTML BASE元素的href属性优先于此属性。

Parameters
documentURI String

setStrictErrorChecking

Added in API level 8
void setStrictErrorChecking (boolean strictErrorChecking)

指定是否强制执行错误检查的属性。 当设置为false ,该实现可以免费测试通常在DOM操作中定义的每个可能的错误情况,并且在使用Document.normalizeDocument()不会引发DOM操作的任何DOMException或报告错误。 如果出现错误,则行为未定义。 该属性默认为true

Parameters
strictErrorChecking boolean

setXmlStandalone

Added in API level 8
void setXmlStandalone (boolean xmlStandalone)

作为XML declaration的一部分的属性指定此文档是否是独立的。 未指定时,这是false

注意:设置此属性时,不会验证该值。 应用程序应使用Document.normalizeDocument()与“验证”参数,以验证值相匹配的validity constraint for standalone document declaration如[定义XML 1.0

Parameters
xmlStandalone boolean
Throws
DOMException NOT_SUPPORTED_ERR: Raised if this document does not support the "XML" feature.

setXmlVersion

Added in API level 8
void setXmlVersion (String xmlVersion)

属性指定(作为XML declaration的一部分)该文档的版本号。 如果没有声明并且本文档支持“XML”功能,则值为"1.0" 如果此文档不支持“XML”功能,则该值始终为null 更改此属性将影响检查XML名称中的无效字符的方法。 应用程序应调用Document.normalizeDocument()以检查Node中已经包含此Document无效字符。
DOM应用程序可以使用参数值分别为“XMLVersion”和“1.0”的DOMImplementation.hasFeature(feature, version)方法来确定实现是否支持[ XML 1.0 ]。 DOM应用程序可以使用与参数值“XMLVersion”和“1.1”(分别)相同的方法来确定实现是否支持[ XML 1.1 ]。 在这两种情况下,为了支持XML,实现还必须支持本规范中定义的“XML”特性。 Document支持“XMLVersion”功能版本的对象在使用Document.xmlVersion时, Document.xmlVersion为相同的版本号引发NOT_SUPPORTED_ERR异常。

Parameters
xmlVersion String
Throws
DOMException NOT_SUPPORTED_ERR: Raised if the version is set to a value that is not supported by this Document or if this document does not support the "XML" feature.

Hooray!