Интерфейс NamedNodeMap
public interface NamedNodeMap
Объекты, реализующие интерфейс NamedNodeMap, используются для представления коллекций узлов, к которым можно получить доступ по имени. Обратите внимание, что NamedNodeMap не наследуется от NodeList; NamedNodeMaps не хранятся в определенном порядке. К объектам, содержащимся в объекте, реализующем NamedNodeMap, также можно получить доступ по порядковому индексу, но это просто для удобного перечисления содержимого NamedNodeMap, и это не подразумевает, что DOM определяет порядок этих узлов.
Объекты NamedNodeMap в DOM являются динамическими.
См. также Спецификацию Document Object Model (DOM) Level 3 Core.
Методы
| Модификатор и тип | Метод и описание |
|---|---|
int |
getLength() Количество узлов в этой карте. |
Node |
getNamedItem(String name) Возвращает узел, указанный по имени. |
Node |
getNamedItemNS(String namespaceURI,
String localName) Возвращает узел, указанный по локальному имени и URI пространства имён. |
Node |
item(int index) Возвращает элемент |
Node |
removeNamedItem(String name) Удаляет узел, указанный по имени. |
Node |
removeNamedItemNS(String namespaceURI,
String localName) Удаляет узел, указанный по локальному имени и URI пространства имён. |
Node |
setNamedItem(Node arg) Добавляет узел, используя его атрибут |
Node |
setNamedItemNS(Node arg) Добавляет узел, используя его атрибуты |
Методы
getNamedItem
Node getNamedItem(String name)
Возвращает узел, указанный по имени.
- Параметры:
-
name-nodeNameузла для извлечения. - Возвращает:
- Узел (любого типа) с указанным
nodeName, или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являетсяAttr, который уже является атрибутом другого объектаElement. Пользователь DOM должен явно клонироватьAttrузлы для повторного использования в других элементах.
HIERARCHY_REQUEST_ERR: Возникает, если попытка добавления узла не соответствует правилам. Примеры включают попытку вставить что-то, кроме узла Attr, в карту атрибутов элемента, или узел, не являющийся Entity, в карту сущностей 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()
Количество узлов в этой карте. Диапазон допустимых индексов узлов-потомков - от 0 до length-1 включительно.
getNamedItemNS
Node getNamedItemNS(String namespaceURI,
String localName)
throws DOMException Возвращает узел, указанный по локальному имени и URI пространства имён.
Согласно [XML Namespaces], приложения должны использовать значение null в качестве параметра namespaceURI для методов, если они не желают использовать пространство имён.
- Параметры:
-
namespaceURI- URI пространства имён узла для извлечения. -
localName- Локальное имя узла для извлечения. - Возвращает:
- Узел (любого типа) с указанным локальным именем и URI пространства имён, или
nullесли он не идентифицирует ни одного узла в этой карте. - Исключения:
-
DOMException- NOT_SUPPORTED_ERR: Может быть вызвано, если реализация не поддерживает функцию "XML", и язык, доступный через Document, не поддерживает XML пространства имён (например, [HTML 4.01]). - С момента:
- DOM Level 2
setNamedItemNS
Node setNamedItemNS(Node arg)
throws DOMException Добавляет узел, используя его namespaceURI и localName атрибуты. Если узел с этим URI пространства имён и локальным именем уже присутствует в этой карте, он заменяется новым. Замена узла самим собой не оказывает никакого эффекта.
Согласно [XML Namespaces], приложения должны использовать значение null в качестве параметра namespaceURI для методов, если они не желают использовать пространство имён.
- Параметры:
-
arg- Узел для хранения в этой карте. Узел позже будет доступен с помощью значения его атрибутовnamespaceURIиlocalName. - Возвращает:
- Если новый
Nodeзаменяет существующий узел, возвращается заменённыйNode, в противном случае возвращаетсяnull. - Исключения:
-
DOMException- WRONG_DOCUMENT_ERR: Возникает, еслиargбыл создан из другого документа, чем тот, который создал эту карту.
NO_MODIFICATION_ALLOWED_ERR: Возникает, если эта карта является только для чтения.
INUSE_ATTRIBUTE_ERR: Возникает, еслиargявляетсяAttr, который уже является атрибутом другого объектаElement. Пользователь DOM должен явно клонироватьAttrузлы для повторного использования в других элементах.
HIERARCHY_REQUEST_ERR: Возникает, если попытка добавления узла не соответствует правилам. Примеры включают попытку вставить что-то, кроме узла Attr, в карту атрибутов элемента, или узел, не являющийся Entity, в карту сущностей DocumentType.
NOT_SUPPORTED_ERR: Может быть вызвано, если реализация не поддерживает функцию "XML", и язык, доступный через Document, не поддерживает XML пространства имён (например, [HTML 4.01]). - С момента:
- DOM Level 2
removeNamedItemNS
Node removeNamedItemNS(String namespaceURI,
String localName)
throws DOMException Удаляет узел, указанный по локальному имени и URI пространства имён. Удалённый атрибут может быть известен как имеющий значение по умолчанию, когда эта карта содержит атрибуты, прикреплённые к элементу, как возвращает атрибут attributes интерфейса Node. Если это так, то появляется атрибут, содержащий значение по умолчанию, а также соответствующий URI пространства имён, локальное имя и префикс, если применимо.
Согласно [XML Namespaces], приложения должны использовать значение null в качестве параметра namespaceURI для методов, если они не желают использовать пространство имён.
- Параметры:
-
namespaceURI- URI пространства имён узла для удаления. -
localName- Локальное имя узла для удаления. - Возвращает:
- Узел, удалённый из этой карты, если такой узел существует.
- Исключения:
-
DOMException- NOT_FOUND_ERR: Возникает, если нет узла с указаннымnamespaceURIиlocalNameв этой карте.
NO_MODIFICATION_ALLOWED_ERR: Возникает, если эта карта является только для чтения.
NOT_SUPPORTED_ERR: Может быть вызвано, если реализация не поддерживает функцию "XML", и язык, доступный через Document, не поддерживает XML пространства имён (например, [HTML 4.01]). - С момента:
- DOM Level 2
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.