Интерфейс Node
Интерфейс Node представляет единичный узел и является, как видно из рисунка, первичным типом данных для всей объектной модели документа.
Поля интерфейса Node (с модификаторами public static final short) описывают тип узла:
· ATTRIBUTE_NODE (2)– узел типа Attr, содержит атрибут элемента;
· CDATA_SECTION_NODE (4) – узел типа CDADASection;
· COMMENT_NODE (8) – узел типа Comment;
· DOCUMENT_FRAGMENT_NODE (11) – узел типа DocumentFragment;
· DOCUMENT_NODE (9) – корневой узел типа Document;
· DOCUMENT_TYPE_NODE (10) – узел типа DocumentType;
· ELEMENT_NODE (1) – узел типа Element;
· ENTITY_NODE (6) – узел типа Entity;
· ENTITY_REFERENCE_NODE (5) – узел типа EntityReference;
· NOTATION_NODE (12) – узел типа Notation;
· PROCESSING_INSTRUCTION_NODE (7) – узел типа ProcessingInstruction;
· TEXT_NODE (3) – узел типа Text.
Методы интерфейса Node описывают действия с узлом дерева.
Проверить, поддерживается компонент для версии в узле можно с помощью метода
public boolean isSupported(String feature, String version)
(этот метод действует аналогично методу hasFeature в интерфейсе DOMImplementation).
Узнать тип узла, имя узла и значение, хранящееся в узле можно с помощью методов
public short getNodeType()
public String getNodeName()
public String getNodeValue()
Установить новое значение для узла можно с помощью метода
public void setNodeValue(String nodeValue)
throws DOMException.
Методы
public String getLocalName()
public String getNamespaceURI()
позволяют получить локальное имя для узла и URI для пространства имен, а методы
public String getPrefix()
public void setPrefix(String prefix) throws DOMException
позволяют получить или установить префикс пространства имен для узла.
Проверить, есть ли атрибуты у элемента XML, можно с помощью метода
public boolean hasAttributes().
Атрибуты, заданные для узла, возвращает метод
public NamedNodeMap getAttributes().
Если у элемента нет атрибутов, этот метод возвращает null.
Метод
public boolean hasChildNodes()
проверяет, есть ли у данного узла узлы-потомки. Если они есть, то можно получить их список в виде объекта типа NodeList с помощью метода
public NodeList getChildNodes().
Первый и последний узлы в этом списке можно получить с помощью методов
public Node getFirstChild()
public Node getLastChild().
Родительский узел данного узла можно получить с помощью метода
public Node getParentNode(),
а соседние узлы с тем же родительским узлом, что и данный узел, – с помощью методов
public Node getPreviousSibling()
public Node getNextSibling().
Первый метод возвращает предыдущий узел, второй – следующий узел (если такого узла нет, возвращается null).
Ссылку на весь документ можно получить с помощью метода
public Document getOwnerDocument().
Большая группа методов интерфейса Node позволяет изменить дерево объектов. Добавить новый дочерний узел newChild как последний в списке узлов можно с помощью метода
public Node appendChild(Node newChild) throws DOMException.
Вставить новый дочерний узел newChild перед существующим дочерним узлом refChild можно с помощью метода
public Node insertBefore(Node newChild, Node refChild)
throws DOMException,
Заменить дочерний узел oldChild новым узлом newChild можно с помощью метода
public Node replaceChild(Node newChild, Node oldChild)
throws DOMException,
а удалить дочерний узел child можно с помощью метода
public Node removeChild(Node child) throws DOMException.
Создать копию узла можно с помощью метода
public Node cloneNode(boolean deep).
Если параметр deep задан как true, то копируется также и поддерево для узла, иначе копируется только сам узел и его атрибуты (если они есть).
Метод
public void normalize()
преобразует узлы типа Text в поддереве данного узла в нормальную форму, т.е. в такую форму, в которой нет смежных текстовых узлов (эти узлы сливаются в один узел) или пустых текстовых узлов (такие узлы удаляются).
Дата добавления: 2015-03-20; просмотров: 668;