Module java.xml
Package org.w3c.dom

Interface NamedNodeMap


public interface NamedNodeMap
实现NamedNodeMap接口的对象用于表示可以按名称访问的节点集合。请注意,NamedNodeMap不继承自NodeListNamedNodeMaps不按特定顺序维护。实现NamedNodeMap的对象中包含的对象也可以通过序数索引访问,但这仅是为了方便枚举NamedNodeMap的内容,并不意味着DOM指定了这些节点的顺序。

DOM中的NamedNodeMap对象是动态的。

另请参阅文档对象模型(DOM)Level 3核心规范

  • Method Details

    • getNamedItem

      Node getNamedItem(String name)
      按名称检索指定的节点。
      参数:
      name - 要检索的节点的nodeName
      返回:
      具有指定nodeNameNode(任何类型),如果它在此映射中不标识任何节点,则返回null
    • setNamedItem

      Node setNamedItem(Node arg) throws DOMException
      使用其nodeName属性添加节点。如果此映射中已存在具有该名称的节点,则将其替换为新节点。通过自身替换节点不会产生任何效果。
      由于nodeName属性用于派生节点必须存储在其中的名称,因此某些类型的多个节点(具有“特殊”字符串值的节点)不能存储,因为名称会发生冲突。这被视为优于允许节点别名。
      参数:
      arg - 要存储在此映射中的节点。稍后可以使用其nodeName属性的值访问该节点。
      返回:
      如果新的Node替换了现有节点,则返回替换的Node,否则返回null
      抛出:
      DOMException - WRONG_DOCUMENT_ERR:如果arg是从创建此映射的文档不同的文档创建的,则引发。
      NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
      INUSE_ATTRIBUTE_ERR:如果arg是已经是另一个Element对象的属性的Attr,则引发。DOM用户必须显式克隆Attr节点以在其他元素中重用它们。
      HIERARCHY_REQUEST_ERR:如果尝试添加一个不属于此NamedNodeMap的节点,则引发。示例包括尝试将除Attr节点以外的其他内容插入元素的属性映射中,或将非实体节点插入DocumentType的实体映射中。
    • removeNamedItem

      Node removeNamedItem(String name) throws DOMException
      按名称删除指定的节点。当此映射包含附加到元素的属性时,如果已知已删除的属性具有默认值,则会立即出现一个包含默认值的属性,以及相应的命名空间URI、本地名称和前缀(如果适用)。
      参数:
      name - 要移除的节点的nodeName
      返回:
      如果存在具有该名称的节点,则从此映射中移除的节点。
      抛出:
      DOMException - NOT_FOUND_ERR:如果此映射中没有名为name的节点,则引发。
      NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
    • item

      Node item(int index)
      返回映射中的第index项。如果index大于或等于此映射中的节点数,则返回null
      参数:
      index - 在此映射中的索引。
      返回:
      映射中位置为index的节点,如果这不是有效索引,则返回null
    • getLength

      int getLength()
      此映射中的节点数。有效子节点索引的范围是从0length-1(包括)。
    • getNamedItemNS

      Node getNamedItemNS(String namespaceURI, String localName) throws DOMException
      按本地名称和命名空间URI检索指定的节点。
      根据[XML命名空间],如果应用程序希望方法的namespaceURI参数为空,则必须使用值null。
      参数:
      namespaceURI - 要检索的节点的命名空间URI。
      localName - 要检索的节点的本地名称。
      返回:
      具有指定本地名称和命名空间URI的Node(任何类型),如果它们在此映射中不标识任何节点,则返回null
      抛出:
      DOMException - NOT_SUPPORTED_ERR:如果实现不支持特性“XML”,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自:
      1.4,DOM Level 2
    • setNamedItemNS

      Node setNamedItemNS(Node arg) throws DOMException
      使用其namespaceURIlocalName添加节点。如果此映射中已存在具有该命名空间URI和本地名称的节点,则将其替换为新节点。通过自身替换节点不会产生任何效果。
      根据[XML命名空间],如果应用程序希望方法的namespaceURI参数为空,则必须使用值null。
      参数:
      arg - 要存储在此映射中的节点。稍后可以使用其namespaceURIlocalName属性的值访问该节点。
      返回:
      如果新的Node替换了现有节点,则返回替换的Node,否则返回null
      抛出:
      DOMException - WRONG_DOCUMENT_ERR:如果arg是从创建此映射的文档不同的文档创建的,则引发。
      NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
      INUSE_ATTRIBUTE_ERR:如果arg是已经是另一个Element对象的属性的Attr,则引发。DOM用户必须显式克隆Attr节点以在其他元素中重用它们。
      HIERARCHY_REQUEST_ERR:如果尝试添加一个不属于此NamedNodeMap的节点,则引发。示例包括尝试将除Attr节点以外的其他内容插入元素的属性映射中,或将非实体节点插入DocumentType的实体映射中。
      NOT_SUPPORTED_ERR:如果实现不支持特性“XML”,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自:
      1.4,DOM Level 2
    • removeNamedItemNS

      Node removeNamedItemNS(String namespaceURI, String localName) throws DOMException
      按本地名称和命名空间URI删除指定的节点。当此映射包含附加到元素的属性时,如果已知已删除的属性具有默认值,则会立即出现一个包含默认值的属性,以及相应的命名空间URI、本地名称和前缀(如果适用)。
      根据[XML命名空间],如果应用程序希望方法的namespaceURI参数为空,则必须使用值null。
      参数:
      namespaceURI - 要移除的节点的命名空间URI。
      localName - 要移除的节点的本地名称。
      返回:
      如果存在具有指定本地名称和命名空间URI的节点,则从此映射中移除的节点。
      抛出:
      DOMException - NOT_FOUND_ERR:如果此映射中没有具有指定namespaceURIlocalName的节点,则引发。
      NO_MODIFICATION_ALLOWED_ERR:如果此映射是只读的,则引发。
      NOT_SUPPORTED_ERR:如果实现不支持特性“XML”,并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自:
      1.4,DOM Level 2