Концепция DOM - объектная модель документа
Каждый XML документ представляется в виде набора множества объектов (классов), с помощью которых возможен доступ к отдельным элементам (полям объекта). DOM - интерфейс описывает доступ как к простым объектам типа DOMString или CharacterData, так и к частям или отдельным элементам XML документа: DOMFragmentElement, DOMNode, DOMElement.
Ниже приведены самые важные свойства и методы объектов XMLDOMDocument, XMLDOMNode, XMLDOMNodeList. Необходимо отметить, что представленные ниже методы и функции объектов DOM модели (Document Object Model) используются Microsoft XML-анализатором msxml.dll и несколько шире, чем утвержденная W3C Консорциумом DOM модель.
Более полное описание интерфейса DOM объектов можно найти на www.msdn.microsoft.com/xml
| Объект XMLDOMDocument | |
| Представляет верхний уровень объектной иерархии и содержит методы для работы с документом: его загрузки, анализа, создания в нем элементов, атрибутов, комментариев и т.д. . | |
| Свойства | |
| Async | Свойство идентифицирующее текущий режим обработки |
| ParseError | Возвращает ссылку на объект обработки ошибки XMLDOMParseError |
| validateOnParse | Включение - выключение верификации документа. |
| url | Возвращает URL документа |
| documentElement | Содержит ссылку на корневой элемент документа в виде объекта XMLDOMElement. |
| Методы | |
| load(url) loadXML(xmlString) | Загружает XML документ, |
| save(objTarget) | Сохраняет XML документ в файле |
| abort | Прерывание процесса загрузки и обработки документа. |
| createAttribute (name) | Создает для текущего элемента новый атрибут с указанным именем. |
| createNode(Type, name, nameSpaceURI) | Создает узел указанного типа и названия |
| createElement(tagName) | Создает элемент документа с указанным названием. |
| createTextNode(data) | Создает текст внутри документа |
| getElementsByTagName(tagname) | Возвращает ссылку на коллекцию элементов документа с заданным именем |
| nodeFromID(idString) | Поиск элемента по идентификатору |
| Объект XMLDOMNode | |
| Объект XMLDOMNode, реализующий базовый DOM интерфейс Node , предназначен для манипулирования с отдельным узлом дерева документа. Его свойства и методы позволяют получать и изменять полную информацию о текущем узле - его тип, название, полное название, его содержимое, список дочерних элементов и т.д. | |
| Свойства | |
| nodeName, baseName | Возвращает название текущего узла. |
| prefix | Возвращает Namespace префикс. |
| dataType | Определяет тип содержимого текущего узла |
| nodeType, nodeTypeString | Возвращает тип текущего узла: |
| attributes | Возвращает список атрибутов текущего узла в виде коллекции XMLDOMNamedNodeMap. |
| text | Возвращает содержимое текущего поддерева в виде текста |
| xml | Возвращает XML-представление текущего поддерева. |
| nodeValue | Возвращает содержимое текущего узла. |
| childNodes | Возвращает список дочерних элементов в виде XMLDOMNodeList. |
| firstChild, lastChild | Возвращает первый/последний дочерний элемент |
| previousSibling ,nextSibling | Возвращает предыдущий /следующий сестринский элемент. |
| parentNode | Содержит ссылку на родительский элемент. |
| ownerDocument | Возвращает указатель на документ, в котором находится текущий узел. |
| Методы | |
| appendChild(newChild) | Добавляет текущему узлу новый дочерний элемент. |
| insertBefore(newChild, refChild) | Вставляет дочерний узел, располагая его в текущем поддереве "левее" узла, указанного параметром refChild. |
| cloneNode (deep) | Создание копии текущего элемента. |
| getAttribute (name) getAttributeNode (name) setAttribute(name, value) setAttributeNode(XMLDOMAttribute) | Доступ к атрибутам (создание, чтение, запись) объекта. Name - имя аттрибута, value - его значение. Возращает значение объект XMLDOMAttribute. |
| replaceChild(newChild, oldChild) removeChild(oldChild) | Замена объекта oldChild текущего списка дочерних объектов на newChild. Удаление объекта oldChild |
| selectNodes(patternString) selectSingleNode(patternString) | Возвращает объект XMLDOMNodeList, выбранное по шаблону поиска или первый узел |
| transformNode(stylesheet) transformNodeToObject(stylesheet, outputObject) | Назначает стилевую таблицу для поддерева текущего узла и возвращает строку - результат обработки. В качестве параметра передается ссылка на объект DOMDocument, в котором находятся XSL инструкции. |
| Объект XMLDOMNodeList | |
| Представляет собой список узлов - поддеревья и содержит методы, при помощи которых можно организовать процедуру обхода дерева. | |
| length | число элементов списка узлов |
| item(i) | Выбор i-того элемента из списка. Возвращает объект XMLDOMNode |
| nextNode() | Выбор следующего элемента в списке. |