Концепция 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() | Выбор следующего элемента в списке. |