- •Document Object Model Объектная модель документа
- •Цели занятия – 1
- •Модели документов
- •"Фабричные методы" – Factory Methods
- •Древовидная структура документа XML
- •Объекты в документе XML
- •Создание объекта XML
- •Пример проверки документа
- •Вывод результата работы Примера
- •Образец документа XML
- •Базовые объекты XML DOM
- •интерфейсов XML DOM и
- •Объект DOMDocument
- •Свойство async
- •Свойство Attribute
- •Свойство baseName
- •Свойство childNodes
- •Свойство documentElement
- •методов объекта DOMdocument
- •Метод createNode
- •Метод appendchild
- •Событие ondataavailable
- •Объект XMLDOMNode
- •Пример использования объекта XMLDOMNode
- •Свойства объекта XMLDOMNode
- •Свойство lastChild
- •Свойство nextSibling
- •Вывод результата работы примера
- •Свойство Xml
- •Методы объекта XMLDOMNode
- •Метод selectNodes
- •Объект XMLDOMNodeList
- •Свойство length
- •Вывод результата работы Примера
- •Метод nextNode
- •Объект
- •Методы объекта XMLDOMNamedNodeMap
- •Объект XMLDOMParseError
- •Свойство line
- •Свойство Linepos
- •Свойство srcText
- •Пример использования свойства srcText
- •Объект XMLDOMAttribute
- •Свойство nodeType
- •Пример использования свойства nodeType
- •Свойство value
- •Свойство text
- •Свойство ownerDocuemnt
- •свойства ownerDocument
- •Объект XMLDOMCDATASection
- •Свойство specified
- •Пример использования свойства specified
- •Метод splitText
- •Метод substringData
- •Пример использования метода substringData
- •Объект XMLDOMDocumentType
- •Свойства entities и name
- •Свойство nodeTypeString
- •Пример использования свойства nodeTypeString
- •Метод replaceChild
- •Метод removeChild
- •Объект XMLDOMEntity
- •Свойство notationName
- •Свойства prefix и publicId
- •Свойство systemId
- •Метод transformNode
- •Объект XMLDOMProcessingInstruc
- •Свойство parsed
- •Пример использования свойства parsed
- •Метод cloneNode
- •SAX против DOM
- •Подведение итогов – I
- •Подведение итогов – II
Свойство srcText
Возвращает полный текст строки, которая содержит ошибку
Это свойство предназначено только для чтения
Возвращает пустую строку, если ошибка возникла из-за того, что документ не является правильно сформированным, и ошибка не может быть позиционирована в конкретной строке
Пример использования свойства srcText
<script language="vbscript">
Dim xmlDoc
Set xmlDoc = CreateObject("microsoft.xmlDOM") xmlDoc.async = False xmlDoc.load("candidate1.xml")
If xmlDoc.parseError.errorcode <> 0 Then MsgBox xmlDoc.parseError.srcText
Else MsgBox xmlDoc.documentElement.xml Вывод
End If </script>
Объект XMLDOMAttribute
Представляет атрибут элемента
Атрибуты – это свойства самого элемента, но не дочерних узлов этого элемента
Атрибуты считаются свойствами ассоциированных с ними элементов, а не отдельных и независимых элементов
Свойства объекта parentNode, previousSibiling, nextsibiling имеют значение Null
Свойство nodeType
Определяет тип узла XML DOM
Свойство предназначено только для чтения
Свойство ‘nodeTypeString’ возвращает тип узла в виде строки
Синтаксис:
xValue=oXMLNode.nodeType
Допустимые значения для свойства nodeType:
NODE_ELEMENT(1)
NODE_ATTRIBUTE(2)
NODE_TEXT(3)
Пример использования свойства nodeType
<script language="vbscript">
Dim xmlDoc Dim cNode
Set xmlDoc = CreateObject("microsoft.xmldom") xmlDoc.async = False xmlDoc.load("candidate.xml")
Set currNode = xmlDoc.documentElement.childNodes.item(0)
MsgBox currNode.nodeType </script>
Свойство value
Содержит значение атрибута
Свойство предназначено и для чтения, и для записи
Для атрибутов с подузлами в строке сцепляется текст всех подузлов со ссылками на символьные и общие примитивы, заменёнными на их значения
Содержимое строки не анализируется синтаксически
Пример:
Dim xmlDoc Dim xVar
Set xmlDoc = CreateObject("Microsoft.xmldom") xmlDoc.async = False xmlDoc.load("candidate.xml")
Set root = xmlDoc.documentElement myVar = root.attributes.item(0).value MsgBox xVar
Свойство text
Содержит текстовое наполнение узла или объединённый текст, представляющий узел и его объявление
Свойства nodeType |
Свойства nodeType |
NODE_ATTRIBUTE, |
NODE_CDATA_SECTION, |
NODE_DOCUMENT, |
NODE_COMMENT, |
NODE_ENTITY |
NODE_PROCESSING_INSTRUCTION, |
|
NODE_TEXT |
NODE_DOCUMENTS_TYPE, |
NODE_DOCUMENTS_FRAGMENT |
NODE_NOTATION |
|
NODE_ELEMENT |
NODE_ENTITY_REFRENCE |
Свойство ownerDocuemnt
Возвращает корень того документа, который содержит заданный узел
Свойство предназначено только для чтения
Все узлы созданы в контексте документа, и свойство ownerDocuemnt обрабатывается до тех пор, пока узел не добавляется к другому документу
Если узел удаляется из документа, то это свойство указывает на документ, в который этот узел был включён до удаления
свойства ownerDocument
Пример:
Dim xmlDoc Dim cNode
Dim ownerDoc
Set xmlDoc = CreateObject("Msxml2.DOMDocument") xmlDoc.async = False xmlDoc.load("candidate.xml")
Set cNode = xmlDoc.documentElement.childNodes.item(0).childNodes.item(1) Set ownerDoc = cNode.ownerDocument
MsgBox ownerDoc.documentElement.tagName
Объект XMLDOMCDATASection
Представляет содержимое секции CDATA
Секции CDATA используются для сокрытия блоков текста от интерпретации в качестве языка разметки
Единственным разделителем, распознаваемым в секции CDATA, является строка "]]>"
Не имеет каких либо особенных свойств и методов, отличающих его от других
Наследует все те же объекты и свойства, что и XMLDOMTextObject