Module  java.xml
软件包  org.w3c.dom

Interface Document

  • All Superinterfaces:
    Node
    All Known Subinterfaces:
    HTMLDocument
    所有已知实现类:
    SOAPPart


    public interface Document
    extends Node
    Document接口代表整个HTML或XML文档。 在概念上,它是文档树的根,并提供对文档数据的主访问。

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

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

    • 方法详细信息

      • getDoctype

        DocumentType getDoctype​()
        与本文档相关的文档类型声明(见DocumentType )。 对于没有文档类型声明的XML文档,将返回null 对于HTML文档,可以返回一个DocumentType对象,而DocumentType HTML文档中是否存在文档类型声明。
        这提供了直接访问DocumentType节点,这个Document子节点。 该节点可以在文档创建时设置,后来通过使用子节点操作方法(例如Node.insertBeforeNode.replaceChild 然而,请注意,虽然一些实现可以实例化支持除“核心”之外的其他功能的不同类型的Document对象,例如“HTML”[ DOM Level 2 HTML ],基于在创建时指定的DocumentType ,之后更改它不太可能产生在更改支持的功能。
        从以下版本开始:
        1.4,DOM 3级
      • getImplementation

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

        Element getDocumentElement​()
        这是一个方便属性,允许直接访问作为文档的文档元素的子节点。
      • createElement

        Element createElement​(String tagName)
                       throws DOMException
        创建指定类型的元素。 请注意,返回的实例实现了Element接口,因此可以直接在返回的对象上指定属性。
        另外,如果存在具有默认值的已知属性, Attr自动创建表示它们的Attr节点并附加到该元素。
        要创建具有限定名称和命名空间URI的元素,请使用createElementNS方法。
        参数
        tagName - 要实例化的元素类型的名称。 对于XML,这是区分大小写的,否则取决于使用的标记语言的区分大小写。 在这种情况下,该名称将通过DOM实现映射到该标记的规范形式。
        结果
        一个新的 Element对象与 nodeName属性设置为 tagName ,和 localNameprefixnamespaceURI设定为 null
        异常
        DOMException - INVALID_CHARACTER_ERR:如果指定的名称不是根据 Document.xmlVersion属性中指定的XML版本的XML名称,则 Document.xmlVersion
      • createDocumentFragment

        DocumentFragment createDocumentFragment​()
        创建一个空的 DocumentFragment对象。
        结果
        一个新的 DocumentFragment
      • createTextNode

        Text createTextNode​(String data)
        创建给定指定字符串的 Text节点。
        参数
        data - 节点的数据。
        结果
        新的 Text对象。
      • createComment

        Comment createComment​(String data)
        创建给定指定字符串的 Comment节点。
        参数
        data - 节点的数据。
        结果
        新的 Comment对象。
      • createCDATASection

        CDATASection createCDATASection​(String data)
                                 throws DOMException
        创建一个值为指定字符串的 CDATASection节点。
        参数
        data - CDATASection内容的数据。
        结果
        新的 CDATASection对象。
        异常
        DOMException - NOT_SUPPORTED_ERR:如果此文档是HTML文档,则引发。
      • createProcessingInstruction

        ProcessingInstruction createProcessingInstruction​(String target,
                                                          String data)
                                                   throws DOMException
        创建指定名称和数据字符串的 ProcessingInstruction节点。
        参数
        target - 处理指令的目标部分。 Document.createElementNSDocument.createAttributeNS ,目标名称上没有对命名空间进行完整的检查。 应用程序应调用Document.normalizeDocument() ,参数“namespaces”设置为true ,以确保目标名称的命名空间格式正确。
        data - 节点的数据。
        结果
        新的 ProcessingInstruction对象。
        异常
        DOMException - INVALID_CHARACTER_ERR:如果指定的目标不是根据Document.xmlVersion属性中指定的XML版本的XML名称,则Document.xmlVersion
        NOT_SUPPORTED_ERR:如果此文档是HTML文档,则引发。
      • createAttribute

        Attr createAttribute​(String name)
                      throws DOMException
        创建给定名称的Attr 需要注意的是Attr实例然后可以上设置Element使用setAttributeNode方法。
        要创建具有限定名称和命名空间URI的属性,请使用createAttributeNS方法。
        参数
        name - 属性的名称。
        结果
        一个新的Attr对象与nodeName属性设置为name ,和localNameprefixnamespaceURI设定为null 属性的值为空字符串。
        异常
        DOMException - INVALID_CHARACTER_ERR:如果指定的名称不是根据 Document.xmlVersion属性中指定的XML版本的XML名称,则 Document.xmlVersion
      • createEntityReference

        EntityReference createEntityReference​(String name)
                                       throws DOMException
        创建一个EntityReference对象。 此外,如果引用的实体是已知的,的子列表EntityReference节点由相同相应的Entity节点。

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

        参数
        name - 要引用的实体的名称。 Document.createElementNSDocument.createAttributeNS ,实体名称上没有对命名空间进行完整的检查。 应用程序应调用Document.normalizeDocument()参数“namespaces”设置为true ,以确保实体名称的命名空间格式正确。
        结果
        新的 EntityReference对象。
        异常
        DOMException - INVALID_CHARACTER_ERR:如果指定的名称不是根据Document.xmlVersion属性中指定的XML版本的XML名称,则Document.xmlVersion
        NOT_SUPPORTED_ERR:如果此文档是HTML文档,则引发。
      • getElementsByTagName

        NodeList getElementsByTagName​(String tagname)
        以文档顺序返回 NodeListElements ,具有给定的标签名称,并包含在文档中。
        参数
        tagname - 要匹配的标签的名称。 特殊值“*”匹配所有标签。 对于XML, tagname参数区分大小写,否则取决于使用的标记语言的大小写敏感度。
        结果
        一个新的 NodeList对象包含所有匹配的 Elements
      • importNode

        Node importNode​(Node importedNode,
                        boolean deep)
                 throws DOMException
        将节点从另一个文档导入到本文档中,而不从原始文档更改或删除源节点; 此方法创建源节点的新副本。 返回的节点没有父节点; parentNodenull )。
        所有节点,导入节点创建由进口文档拥有的节点对象,具有属性值相同的源节点的nodeNamenodeType ,加上与命名空间属性( prefixlocalName ,和namespaceURI )。 如在cloneNode操作中,源节点不被更改。 与导入的节点关联的用户数据不会被转移。 但是,如果已经与相关联的数据一起指定了UserDataHandlers ,则在此方法返回之前,将使用适当的参数调用这些处理程序。
        如果将XML或HTML源的一个片段从一个文档复制到另一个文档, nodeType尝试镜像所需的行为,并识别两个文档在XML中可能具有不同的DTD,否则附加信息将复制到nodeType 以下列表描述了每种节点类型的具体细节。
        ATTRIBUTE_NODE
        所述ownerElement属性被设置为nullspecified标志被设定为true所生成Attr 来源Attr的后代被递归导入,并且所生成的节点重新组合以形成相应的子树。 请注意, deep参数对Attr节点没有影响; 进口时,他们总是带着孩子。
        DOCUMENT_FRAGMENT_NODE
        如果deep选项设置为true ,源DocumentFragment的后代将被递归导入,并且DocumentFragment的节点在导入的DocumentFragment下重新组合以形成相应的子树。 否则,这只是生成一个空的DocumentFragment
        DOCUMENT_NODE
        无法导入Document节点。
        DOCUMENT_TYPE_NODE
        无法导入DocumentType节点。
        ELEMENT_NODE
        导入源元素的指定属性节点,生成的Attr节点附加到生成的Element 默认属性不被复制,但是如果要导入的文档定义了该元素名称的默认属性,那么它们将被分配。 如果importNode deep参数设置为true ,则源元素的后代将被递归导入,并将生成的节点重新组合以形成相应的子树。
        ENTITY_NODE
        可以导入Entity节点,但是在目前的DOM版本中, DocumentType是只读方式。 能力将这些导入的节点添加到DocumentType将被视为除了未来DOM.On进口的发布, publicIdsystemId ,并notationName属性被复制。 如果要求deep导入,源Entity的后代将被递归导入,并将生成的节点重新组合以形成相应的子树。
        ENTITY_REFERENCE_NODE
        即使要求deep导入,只能复制EntityReference本身,因为源和目的地文档可能不同地定义了实体。 如果导入的文档为此实体名称提供了定义,则会分配其值。
        NOTATION_NODE
        可以导入Notation节点,但是在当前的DOM版本中, DocumentType是只读方式。 将这些导入节点添加到DocumentType将被考虑添加到未来版本的DOM.On导入中,复制publicIdsystemId属性。 请注意, deep参数对此类型的节点没有影响,因为它们不能有任何子节点。
        PROCESSING_INSTRUCTION_NODE
        导入的节点从源节点复制其targetdata值。注意, deep参数对此类型的节点没有影响,因为它们不能有任何子节点。
        TEXT_NODE,CDATA_SECTION_NODE,COMMENT_NODE
        这些从CharacterData继承的三种类型的节点从CharacterData节点的datalength属性中复制。注意, deep参数对这些节点类型没有影响,因为它们不能有任何子节点。
        参数
        importedNode - 要导入的节点。
        deep - 如果是true ,递归地导入指定节点下的子树; 如果false ,只导入节点本身,如上所述。 这对不能有任何子节点的节点没有影响,而在AttrEntityReference节点上。
        结果
        导入的节点属于这个 Document
        异常
        DOMException - NOT_SUPPORTED_ERR:如果不支持正在导入的节点类型,则引发。
        INVALID_CHARACTER_ERR:根据Document.xmlVersion属性中指定的XML版本,引用的名称之一不是XML名称。 例如,当将XML 1.1 [ XML 1.1 ]元素导入XML 1.0文档时,可能会发生这种情况。
        从以下版本开始:
        1.4,DOM Level 2
      • createElementNS

        Element createElementNS​(String namespaceURI,
                                String qualifiedName)
                         throws DOMException
        创建给定限定名称和命名空间URI的元素。
        Per [ XML Namespaces ],如果希望没有命名空间,应用程序必须使用值为null作为方法的namespaceURI参数。
        参数
        namespaceURI - 要创建的元素的命名空间URI。
        qualifiedName - 要实例化的元素类型的限定名称。
        结果
        一个新的Element对象具有以下属性: Attributes of the Element object 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
        异常
        DOMException - INVALID_CHARACTER_ERR:如果指定的qualifiedName不是根据Document.xmlVersion属性中指定的XML版本的XML名称,则Document.xmlVersion
        NAMESPACE_ERR:如果qualifiedName是格式不正确的限定名称,则如果qualifiedName具有前缀,并且namespaceURInull ,或者如果qualifiedName具有“xml”的前缀,并且namespaceURI与“ http://www.w3.org/XML/1998/namespace ”[ XML Namespaces ]不同,或者如果qualifiedName或其前缀为“xmlns”,而namespaceURI与“ http://www.w3.org/2000/xmlns/ ”不同,或者如果namespaceURI为“ http://www.w3.org/2000/xmlns/ ”,并且qualifiedName及其前缀都不是“xmlns”。
        NOT_SUPPORTED_ERR:如果当前文档不支持"XML"功能,则始终抛出,因为命名空间是由XML定义的。
        从以下版本开始:
        1.4,DOM Level 2
      • createAttributeNS

        Attr createAttributeNS​(String namespaceURI,
                               String qualifiedName)
                        throws DOMException
        创建给定的限定名称和命名空间URI的属性。
        根据[ XML Namespaces ],应用程序必须使用值为null作为方法的namespaceURI参数,如果他们希望没有命名空间。
        参数
        namespaceURI - 要创建的属性的命名空间URI。
        qualifiedName - 要实例化的属性的限定名称。
        结果
        新的Attr对象具有以下属性: Attributes of the Attr object 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
        异常
        DOMException - INVALID_CHARACTER_ERR:如果指定的qualifiedName不是根据Document.xmlVersion属性中指定的XML版本的XML名称,则Document.xmlVersion
        NAMESPACE_ERR:如果qualifiedName是格式不正确的限定名,如果qualifiedName有一个前缀,而namespaceURInull ,如果qualifiedName的前缀是“xml”,而namespaceURI与“ http://www.w3.org/XML/1998/namespace ”不同,则qualifiedName前缀是“xmlns”,而namespaceURI与“ http://www.w3.org/2000/xmlns/ ”不同,或者如果namespaceURI是“ http://www.w3.org/2000/xmlns/ ”, qualifiedName及其前缀都不是“xmlns”。
        NOT_SUPPORTED_ERR:如果当前文档不支持"XML"功能,则始终抛出,因为命名空间是由XML定义的。
        从以下版本开始:
        1.4,DOM Level 2
      • getElementsByTagNameNS

        NodeList getElementsByTagNameNS​(String namespaceURI,
                                        String localName)
        返回 NodeList的所有 Elements具有给定本地名称和命名空间URI在文档顺序。
        参数
        namespaceURI - 要匹配的元素的命名空间URI。 特殊值"*"匹配所有命名空间。
        localName - 要匹配的元素的本地名称。 特殊值“*”与所有本地名称相匹配。
        结果
        一个新的 NodeList对象包含所有匹配的 Elements
        从以下版本开始:
        1.4,DOM Level 2
      • getElementById

        Element getElementById​(String elementId)
        返回具有给定值的ID属性的Element 如果没有这样的元素,则返回null 如果多个元素的ID属性为该值,那么返回的元素是未定义的。
        预期DOM实现将使用属性Attr.isId来确定属性是否为类型ID。

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

        参数
        elementId - 元素的独特 id值。
        结果
        匹配元素或 null如果没有。
        从以下版本开始:
        1.4,DOM Level 2
      • getInputEncoding

        String getInputEncoding​()
        指定在解析时用于此文档的编码的属性。 这是null当它是不知道的,如Document是在内存中创建的。
        从以下版本开始:
        1.5,DOM 3级
      • getXmlEncoding

        String getXmlEncoding​()
        属性指定,作为XML declaration的一部分,该文档的编码。 这是null当未指定或何时不知道,例如当内存中创建Document时。
        从以下版本开始:
        1.5,DOM 3级
      • getXmlStandalone

        boolean getXmlStandalone​()
        一个属性指定,作为XML declaration的一部分,该文档是否是独立的。 这是false当未指定。

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

        从以下版本开始:
        1.5,DOM 3级
      • setXmlStandalone

        void setXmlStandalone​(boolean xmlStandalone)
                       throws DOMException
        作为XML declaration的一部分,属性指定此文档是否是独立的。 这是false当未指定。

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

        异常
        DOMException - NOT_SUPPORTED_ERR:如果此文档不支持“XML”功能,则引发。
        从以下版本开始:
        1.5,DOM 3级
      • getXmlVersion

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

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

        boolean getStrictErrorChecking​()
        指定是否强制执行错误检查的属性。 当设置为false ,该实现可以免费测试DOM操作中通常定义的每个可能的错误情况,并且在使用Document.normalizeDocument()不会引发任何关于DOM操作的DOMException或报告错误。 如果出现错误,行为是未定义的。 此属性默认为true
        从以下版本开始:
        1.5,DOM 3级
      • setStrictErrorChecking

        void setStrictErrorChecking​(boolean strictErrorChecking)
        指定是否强制执行错误检查的属性。 当设置为false ,该实现可以自由地不测试通常在DOM操作上定义的每个可能的错误情况,并且在使用Document.normalizeDocument()不会引发任何关于DOM操作的DOMException或报告错误。 如果出现错误,行为是未定义的。 此属性默认为true
        从以下版本开始:
        1.5,DOM 3级
      • getDocumentURI

        String getDocumentURI​()
        文件的位置或null如果未定义,或者如果Document是使用DOMImplementation.createDocument创建的。 设置此属性时不执行词法检查; 这可能会导致null使用时返回的值Node.baseURI
        请注意,当Document支持功能“HTML”[ DOM Level 2 HTML ]时,当计算Node.baseURI时,HTML BASE元素的href属性优先于此属性。
        从以下版本开始:
        1.5,DOM 3级
      • setDocumentURI

        void setDocumentURI​(String documentURI)
        文件的位置或null如果未定义,或者如果Document是使用DOMImplementation.createDocument创建的。 设置此属性时不执行词法检查; 这可能会导致null使用时返回的值Node.baseURI
        请注意,当Document支持功能“HTML”[ DOM Level 2 HTML ]时,当计算Node.baseURI时,HTML BASE元素的href属性优先于此属性。
        从以下版本开始:
        1.5,DOM 3级
      • adoptNode

        Node adoptNode​(Node source)
                throws DOMException
        尝试从另一个文档中采用节点到本文档。 如果支持,它会更改源节点的其他子节点的数量,如果有的话,会更改附加的属性节点的ownerDocument 如果源节点有父,则首先从其父列表的子列表中删除它。 这有效地允许将子树从一个文档移动到另一个文档(不像importNode()创建源节点的副本而不是移动它)。 当它失败时,应用程序应该使用Document.importNode() 请注意,如果采用的节点已经是本文档的一部分(即源文档和目标文档是相同的),则该方法仍然具有从其父代的子列表中删除源节点的效果(如果有的话)。 以下列表描述了每种节点类型的具体细节。
        ATTRIBUTE_NODE
        ownerElement属性设置为nullspecified标志设置为true所采用的Attr 来源Attr的后代被递归地采用。
        DOCUMENT_FRAGMENT_NODE
        源节点的后代被递归地采用。
        DOCUMENT_NODE
        Document节点不能采用。
        DOCUMENT_TYPE_NODE
        不能采用DocumentType节点。
        ELEMENT_NODE
        采用源元素的指定属性节点。 丢弃默认属性,但是如果要采用的文档定义了此元素名称的默认属性,则会分配这些属性。 源元素的后代被递归地采用。
        ENTITY_NODE
        Entity节点不能采用。
        ENTITY_REFERENCE_NODE
        只有EntityReference节点本身被采用,后代被丢弃,因为源和目的地文档可能不同地定义了实体。 如果导入的文档为此实体名称提供了定义,则会分配其值。
        NOTATION_NODE
        不能采用Notation节点。
        PROCESSING_INSTRUCTION_NODE,TEXT_NODE,CDATA_SECTION_NODE,COMMENT_NODE
        这些节点都可以被采用。 没有细节。

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

        参数
        source - 要移入此文档的节点。
        结果
        采用的节点,如果这个操作失败了,如源节点来源于不同的实现,如 null
        异常
        DOMException - NOT_SUPPORTED_ERR:如果源节点类型为DOCUMENT ,则DOCUMENT_TYPE
        NO_MODIFICATION_ALLOWED_ERR:源节点只读时引发。
        从以下版本开始:
        1.5,DOM 3级
      • getDomConfig

        DOMConfiguration getDomConfig​()
        调用 Document.normalizeDocument()时使用的配置。
        从以下版本开始:
        1.5,DOM 3级
      • normalizeDocument

        void normalizeDocument​()
        该方法的作用就好像文档正在进行保存和加载循环,将文档置于“正常”形式。 因此,这种方法更新的替代树EntityReference节点和标准化Text节点,如在方法中定义Node.normalize()
        否则,实际结果取决于Document.domConfig对象上设置的功能,并管理实际执行的操作。 值得注意的是,这种方法也可以使文档命名空间根据所描述的算法进行正确的CDATASection ,检查字符归一化,删除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(); 

        生成支持时的突变事件,以反映文档上发生的更改。
        如果在调用此方法期间发生错误,例如尝试更新只读节点或Node.nodeName根据使用的XML版本包含无效字符,将使用DOMErrorHandler报告错误或警告( DOMError.SEVERITY_ERRORDOMError.SEVERITY_WARNING )与“错误处理程序”参数关联的对象。 注意,如果实现无法从错误中恢复,则此方法也可能会报告致命错误( DOMError.SEVERITY_FATAL_ERROR )。
        从以下版本开始:
        1.5,DOM 3级
      • renameNode

        Node renameNode​(Node n,
                        String namespaceURI,
                        String qualifiedName)
                 throws DOMException
        重命名类型为ELEMENT_NODEATTRIBUTE_NODE的现有节点。
        在可能的情况下,只需更改给定节点的名称,否则将创建具有指定名称的新节点,并使用新节点替换现有节点,如下所述。
        如果简单地改变给定节点的名称是不可能的,则执行以下操作:创建新节点,在新节点上注册任何注册的事件侦听器,从该节点删除附加到旧节点的任何用户数据,如果旧节点有父节点,则将其从父节点移除,如果重新命名的节点为Element其属性移动到新节点,则将新节点插入到旧节点的位置要在其父节点的子节点列表中有一个,则附加到旧节点的用户数据被附加到新节点。
        当重新命名的节点是Element仅移动指定的属性,根据新的元素名称更新来自DTD的默认属性。 此外,实现可以从其他模式更新默认属性。 应用程序应使用Document.normalizeDocument()来保证这些属性是最新的。
        当要重命名的节点是Attr附接到一个Element ,节点首先从除去Element属性地图。 然后,一旦重命名,通过修改现有节点或如上所述创建一个新节点,它将被放回。
        此外,
        • 用户数据事件NODE_RENAMED被触发,
        • 当实现支持特征“MutationNameEvents”,参与这一方法中,每个变异操作触发适当的事件,并且在最后的情况下{ http://www.w3.org/2001/xml-eventsDOMElementNameChanged }或{ http://www.w3.org/2001/xml-eventsDOMAttributeNameChanged }进行烧成。
        参数
        n - 要重命名的节点。
        namespaceURI - 新的命名空间URI。
        qualifiedName - 新的合格名称。
        结果
        重命名的节点。 这是指定的节点或创建以替换指定节点的新节点。
        异常
        DOMException - NOT_SUPPORTED_ERR:当指定节点的类型既不是ELEMENT_NODE也不是ELEMENT_NODE ATTRIBUTE_NODE ,或者实现不支持重命名文档元素。
        INVALID_CHARACTER_ERR:如果新限定名称不是根据Document.xmlVersion属性中指定的XML版本的XML名称,则Document.xmlVersion
        WRONG_DOCUMENT_ERR:从与此文档不同的文档创建指定节点时引发。
        NAMESPACE_ERR:如果qualifiedName是格式不正确的限定名,则qualifiedName具有前缀, namespaceURInull ,或者如果qualifiedName的前缀为“xml”,而namespaceURI与“ http://www.w3.org/XML/1998/namespace ”[ XML Namespaces ]不同。 另外,当重新命名节点是属性时,如果qualifiedName或其前缀是“xmlns”,而namespaceURI与“ http://www.w3.org/2000/xmlns/ ”不同。
        从以下版本开始:
        1.5,DOM 3级