org.w3c.dom

接口
异常
public interface NamedNodeMap

实现 NamedNodeMap 接口的对象用于表示可以通过名称访问的节点的集合。注意,NamedNodeMap 不从 NodeList 继承;不以任何特定的顺序维护 NamedNodeMaps。在实现 NamedNodeMap 的对象中包含的对象还可以通过顺序索引进行访问,但只允许方便地枚举 NamedNodeMap 的内容,并不意味着 DOM 指定这些节点的顺序。

DOM 中的 NamedNodeMap 对象是活动的。

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


方法摘要
 int getLength()
          此映射中的节点数。
 Node getNamedItem(String name)
          检索通过名称指定的节点。
 Node getNamedItemNS(String namespaceURI, String localName)
          检索通过本地名称和名称空间 URI 指定的节点。
 Node item(int index)
          返回映射中第 index 个项。
 Node removeNamedItem(String name)
          移除通过名称指定的节点。
 Node removeNamedItemNS(String namespaceURI, String localName)
          移除通过本地名称和名称空间 URI 指定的节点。
 Node setNamedItem(Node arg)
          使用 nodeName 属性添加节点。
 Node setNamedItemNS(Node arg)
          使用其 namespaceURIlocalName 添加节点。
 

方法详细信息

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 Namespaces],如果应用程序希望没有名称空间,则它们必须将值 null 用作方法的 namespaceURI 参数。

参数:
namespaceURI - 要检索的节点的名称空间 URI。
localName - 要检索的节点的本地名称。
返回:
具有指定本地名称和名称空间 URI 的 Node(类型不限);如果它们不标识此映射中的任何节点,则返回 null
抛出:
DOMException - NOT_SUPPORTED_ERR: 如果实现不支持功能 "XML" 且文档中公开的语言不支持 XML 名称空间(如 [ HTML 4.01]),则可能引发此异常。
从以下版本开始:
DOM Level 2

setNamedItemNS

Node setNamedItemNS(Node arg)
                    throws DOMException
使用其 namespaceURIlocalName 添加节点。如果具有该名称空间 URI 和该本地名称的节点已经出现在此映射中,则用新节点替换它。用自身替换节点无效。
按照 [ XML Namespaces],如果应用程序希望没有名称空间,则它们必须将值 null 用作方法的 namespaceURI 参数。

参数:
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]),则可能引发此异常。
从以下版本开始:
DOM Level 2

removeNamedItemNS

Node removeNamedItemNS(String namespaceURI,
                       String localName)
                       throws DOMException
移除通过本地名称和名称空间 URI 指定的节点。此映射中包含连接到一个元素的属性时,可能知道移除的属性具有默认值,由 Node 接口的属性返回。如果是这样,当适当时包含默认值以及相应名称空间 URI、本地名称和前缀的属性立即出现。
按照 [ XML Namespaces],如果应用程序希望没有名称空间,则它们必须将值 null 用作方法的 namespaceURI 参数。

参数:
namespaceURI - 要移除的节点的名称空间 URI。
localName - 要移除的节点的本地名称。
返回:
如果存在具有这样的本地名称和名称空间 URI 的节点,则返回从此映射移除的节点。
抛出:
DOMException - NOT_FOUND_ERR:如果此映射中存在具有指定 namespaceURIlocalName 的节点,则引发此异常。
NO_MODIFICATION_ALLOWED_ERR: 如果此映射为只读的,则引发此异常。
NOT_SUPPORTED_ERR: 如果实现不支持功能 "XML" 且文档公开的语言不支持 XML 名称空间(如 [ HTML 4.01]),则可能引发此异常。
从以下版本开始:
DOM Level 2