Статьи Королевства Дельфи

       

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



Содержание раздела