Интерфейс 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- Имя узла для получения. - Возвращает:
- Узел (любого типа) с заданным именем, или null, если по имени узел не найден.
setNamedItem
Node setNamedItem(Node arg)
throws DOMException
Добавляет узел, используя его атрибут nodeName. Если узел с таким именем уже присутствует в этой карте, он заменяется новым. Замена узла самим собой не имеет эффекта.
Так как атрибут nodeName используется для вывода имени, под которым узел должен быть сохранён, несколько узлов определённых типов (у которых есть «специальное» строковое значение) не могут быть сохранены, так как имена будут совпадать. Это предпочтительнее, чем позволять узлам иметь псевдонимы.
- Параметры:
-
arg- Узел для хранения в этой карте. Узел будет позже доступен по значению его атрибутаnodeName. - Возвращает:
- Если новый узел заменяет существующий, возвращается заменённый узел, иначе возвращается null.
- Исключения:
-
DOMException- WRONG_DOCUMENT_ERR: Выбрасывается, еслиargбыл создан из другого документа, чем тот, который создал эту карту.
NO_MODIFICATION_ALLOWED_ERR: Выбрасывается, если эта карта является только для чтения.
INUSE_ATTRIBUTE_ERR: Выбрасывается, еслиargявляется атрибутом, который уже является атрибутом другого объектаElement. Пользователь DOM должен явно клонироватьAttrузлы для повторного использования в других элементах.
HIERARCHY_REQUEST_ERR: Выбрасывается, если попытка добавить узел не соответствует структуре этой карты. Примеры включают попытку вставки чего-либо, кроме узла Attr, в карту атрибутов элемента, или не-Entity узла в карту сущностей DocumentType.
removeNamedItem
Node removeNamedItem(String name)
throws DOMException
Удаляет узел, указанный по имени. Когда эта карта содержит атрибуты, прикреплённые к элементу, если удалённый атрибут известен как имеющий значение по умолчанию, сразу появляется атрибут, содержащий значение по умолчанию, а также соответствующий URI пространства имён, локальное имя и префикс, если применимо.
- Параметры:
-
name- Имя узла для удаления. - Возвращает:
- Узел, удалённый из этой карты, если узел с таким именем существует.
- Исключения:
-
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]). - С тех пор:
- 1.4, DOM Level 2
setNamedItemNS
Node setNamedItemNS(Node arg)
throws DOMException
Добавляет узел, используя его URI пространства имён и локальное имя. Если узел с указанным URI пространства имён и локальным именем уже присутствует в этой карте, он заменяется новым. Замена узла самим собой не имеет эффекта.
Согласно [XML Namespaces], приложения должны использовать значение null в качестве параметра namespaceURI для методов, если они хотят не использовать пространство имён.
- Параметры:
-
arg- Узел для хранения в этой карте. Узел будет позже доступен по значению его атрибутовnamespaceURIиlocalName. - Возвращает:
- Если новый узел заменяет существующий, возвращается заменённый узел, иначе возвращается null.
- Исключения:
-
DOMException- WRONG_DOCUMENT_ERR: Выбрасывается, еслиargбыл создан из другого документа, чем тот, который создал эту карту.
NO_MODIFICATION_ALLOWED_ERR: Выбрасывается, если эта карта является только для чтения.
INUSE_ATTRIBUTE_ERR: Выбрасывается, еслиargявляется атрибутом, который уже является атрибутом другого объектаElement. Пользователь DOM должен явно клонироватьAttrузлы для повторного использования в других элементах.
HIERARCHY_REQUEST_ERR: Выбрасывается, если попытка добавить узел не соответствует структуре этой карты. Примеры включают попытку вставки чего-либо, кроме узла Attr, в карту атрибутов элемента, или не-Entity узла в карту сущностей DocumentType.
NOT_SUPPORTED_ERR: Может быть выброшено, если реализация не поддерживает функцию «XML» и язык, экспонируемый через Document, не поддерживает XML пространства имён (например, [HTML 4.01]). - С тех пор:
- 1.4, DOM Level 2
removeNamedItemNS
Node removeNamedItemNS(String namespaceURI,
String localName)
throws DOMException
Удаляет узел, указанный по локальному имени и URI пространства имён. Удаленный атрибут может быть известен как имеющий значение по умолчанию, когда эта карта содержит атрибуты, прикрепленные к элементу, возвращаемые атрибутом attributes интерфейса Node. В таком случае сразу появляется атрибут, содержащий значение по умолчанию, а также соответствующий URI пространства имён, локальное имя и префикс, если применимо.
Согласно [XML Namespaces], приложения должны использовать значение null в качестве параметра namespaceURI для методов, если они хотят не использовать пространство имён.
- Параметры:
-
namespaceURI- URI пространства имён узла для удаления. -
localName- Локальное имя узла для удаления. - Возвращает:
- Узел, удалённый из этой карты, если узел с указанным локальным именем и URI пространства имён существует.
- Исключения:
-
DOMException- NOT_FOUND_ERR: Выбрасывается, если в этой карте нет узла с указаннымnamespaceURIиlocalName.
NO_MODIFICATION_ALLOWED_ERR: Выбрасывается, если эта карта является только для чтения.
NOT_SUPPORTED_ERR: Может быть выброшено, если реализация не поддерживает функцию «XML» и язык, экспонируемый через Document, не поддерживает XML пространства имён (например, [HTML 4.01]). - С тех пор:
- 1.4, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/org/w3c/dom/NamedNodeMap.html