Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лекции / Lect4-06.doc
Скачиваний:
5
Добавлен:
12.05.2015
Размер:
287.23 Кб
Скачать

5.2.3.2.4. Интерфейс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в поддереве данного узла в нормальную форму, т.е. в такую форму, в которой нет смежных текстовых узлов (эти узлы сливаются в один узел) или пустых текстовых узлов (такие узлы удаляются).

Соседние файлы в папке Лекции