Объект XMLDOMNode |
Объект XMLDOMNode, реализующий базовый DOM интерфейс Node, предназначен для манипулирования с отдельным узлом дерева документа. Его свойства и методы позволяют получать и изменять полную информацию о текущем узле - его тип (является ли текущий узел элементом, комментарием, текстом и т.д.), название, полное название (вместе с Namespace префиксом), его содержимое, список дочерних элементов и т.д. |
Свойства |
Общая информация о текущем элементе дерева |
nodeName | Возвращает полное название(вместе с Namaspace атрибутом) текущего узла в виде строки. Доступно только для чтения. |
baseName | Возвращает название элемента без префикса Namespace. Только для чтения. |
hrefix | Возвращает Namespace префикс. Только для чтения. |
namespaceURI | Возвращает URI Namespace префикса текущего элемента |
dataType | Определяет тип содержимого текущего узла(описываемое схемами данных). Доступно для записи и чтения |
nodeType | Возвращает тип текущего узла: NODE_ELEMENT (1) - элемент NODE_ATTRIBUTE (2) - атрибут NODE_TEXT (3) - текст NODE_CDATA_SECTION (4) - область CDATA NODE_ENTITY_REFERENCE (5) - объект ссылки на "макроподстановки" NODE_ENTITY (6) - объект ссылки на т.н. "подстановочые символы" - entity" NODE_PROCESSING_INSTRUCTION (7) - область инструкций XML процессору NODE_COMMENT (8) - комментарий NODE_DOCUMENT (9) - корневой элемент документа NODE_DOCUMENT_TYPE (10) - описание типа документа, задаваемое тэгом <!DOCTYPE> NODE_DOCUMENT_FRAGMENT (11) - фрагмент XML-документа - несвязанное поддерево NODE_NOTATION (12) - DTD нотация. Свойство доступно только для чтения. |
nodeTypeString | Возвращает тип узла в виде текста. Только для чтения. |
attributes | Возвращает список атрибутов текущего узла в виде коллекции XMLDOMNamedNodeMap. Если атрибутов нет, то свойство length будет содержать нулевое значение. Для тех узлов, у которых не может быть атрибутов (в XML документе они могут быть назначены лишь объектам элементов, макроподстановок и нотаций) возвращается null. Для объектов макроподстановок и нотаций содержимым коллекции будут являться атрибуты SYSTEMID, PUBLICID и NDATA. Доступно только для чтения. |
definition | Возвращает DTD определение для текущего узла дерева. |
Содержимое текущего узла |
text | Возвращает содержимое текущего поддерева(узла и всех его дочерних элементов). Доступно для записи и чтения |
xml | Возвращает XML-представление текущего поддерева. Доступно только для чтения |
nodeValue | Возвращает содержимое текущего узла. Доступно для чтения и записи. |
Работа со списком дочерних элементов |
childNodes | Для тех узлов, которые имеют дочерние элементы возвращает их список в виде XMLDOMNodeList. В том случае, если дочерних элементов нет, значение свойства length списка равно нулю . Только для чтения. |
lastChild | Возвращает последний дочерний элемент или null, если таковых не имеется. Свойство доступно только для чтения. |
firstChild | Возвращает последний дочерний элемент или null. Только для чтения. |
nextSibling | Возвращает следующий дочерний элемент. Только для чтения. |
previousSibling | Возвращает предыдущий дочерний элемент. Доступно только для чтения. |
parentNode | Содержит ссылку на родительский элемент. В том случае, когда такого элемента нет, возвращает null. Доступно только для чтения. |
ownerDocument | Возвращает указатель на документ, в котором находится текущий узел. Если в процессе модификации дерева узел будет перенесен в другой документ, то значение этого свойства автоматически изменится. Только для чтения. |
Методы |
Добавление новых элементов в объектную модель документа |
appendChild(newChild) | Добавляет текущему узлу новый дочерний элемент. Возвращает ссылку на объект этого нового элемента. То же самое можно сделать и при помощи insertBefore (newChild, null) |
insertBefore(newChild, refChild) | Вставляет дочерний узел, располагая его в текущем поддереве "левее" узла, указанного параметром refChild. Если последний параметр не задан, то новый узел будет добавлен в конец списка. |
Модификация и удаление узлов |
cloneNode (deep) | Создание копии текущего элемента. Параметр deep определяет, будет ли эта процедура рекурсивно выполняться для всех дочерних элементов. Возвращаемое значение - ссылка на новый элемент |
replaceChild(newChild, oldChild) | Замена объекта oldChild текущего списка дочерних объектов на newChild. Если newChild=null, то старый объект будет просто удален. |
removeChild(oldChild) | Удаление объекта oldChild из списка дочерних элементов |
Поиск узлов (выделение поддеревьев) |
selectNodes(patternString) | Возвращает объект XMLDOMNodeList, содержащий поддерево, выбранное по шаблону поиска pattertnString |
selectSingleNode(patternString) | Аналогичен методу selectNodes, только возвращает первый узел из найденного поддерева |
Обработка поддеревьев стилевыми таблицами |
transformNode(stylesheet) | Назначает стилевую таблицу для поддерева текущего узла и возвращает строку - результат обработки. В качестве параметра передается ссылка на объект DOMDocument, в котором находятся XSL инструкции. |
transformNodeToObject(stylesheet, outputObject) | То же, что и transformNode, только результат - обработанное дерево передается в объект XMLDocument(другое дерево), задаваемый параметром outputObject |