- •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
Метод removeChild
|
Потомки узла node |
|
|
|
|
Узел |
|
Потомки узла node |
|||
node |
Childnode1 |
|
Childnode1 |
||
|
Childnode2 |
|
Childnode2 |
||
|
Childnode3 |
|
Childnode3 |
||
|
Childnode4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дочерние узлы после |
|
|
выполнения метода |
|
removeChild(Childnode4) |
||
удаления |
Объект XMLDOMEntity
Представляет синтаксически обрабатываемые или необрабатываемые примитивы в документе XML
Представляет сам примитив, а не объявление этого примитива
Представляет примитив в свойстве ‘childNodes’ свойства ‘docType’ (DTD) объекта DOMDocument
Свойство notationName
Возвращает имя нотации узла
Свойство предназначено только для чтения
Содержит имя нотации для синтаксически не анализируемых примитивов
Для синтаксически анализируемых примитивов это свойство содержит пустую строку
Имя примитива доступно через свойство nodeName
Синтаксис:
sValue=oXMLDOMEntity.notationName
Свойства prefix и publicId
Свойство prefix: Возвращает префикс пространства имён, определённого для данного объекта
Если префикс не определён, то возвращается пустая строка
Синтаксис: sValue=oXMLDOMNode.prefix
Свойство publicId: Содержит общедоступный (public) идентификатор, ассоциированный с примитивом
Если общедоступный идентификатор не определён, то свойство содержит пустую строку
Свойство предназначено только для чтения
Синтаксис: sValue=oXMLDOMEntity.publicId
Свойство systemId
Содержит системный идентификатор, ассоциированный с примитивом
Если системный идентификатор не определён, то свойство содержит пустую строку
Синтаксис:
strValue=oXMLDOMEntity.systemId
Метод transformNode
Обрабатывает узел и его потомков, используя предложенную XSL таблицу стилей и возвращает результат преобразования
Параметр, передаваемый в метод, является объектом
Это корректный документ XML или узел DOM, состоящий из элементов XSL, которые определяют преобразование этого узла
Возвращает строку, которая содержит результат преобразования этого документа XML, основанного на таблице стилей XSL
Синтаксис: sValue=oXMLDOMNode.transformNode(x)
Объект XMLDOMProcessingInstruc
tion
Объект представляет инструкцию обработки
Содержимым узла XMLDOMProcessingInstruction является все, что расположено между разделителями инструкций обработки (PI) и конечным тэгом
Объект является записываемым, и мы можем добавлять инструкции обработки в объект DOMDocument
Пример:
Dim xmlDoc Dim pi
Set xmlDoc = CreateObject("Microsoft.xmldom") Set pi=
xmlDoc.createProcessingInstruction(“xml”,”version=“”1.0”””) Msgbox pi.xml
Свойство parsed
Возвращает значение True (истина), если узел и все его потомки были подвергнуты синтаксическому анализу и обработаны
Возвращает значение False (ложь), если какой либо узел остался необработанным
Свойство предназначено только для чтения
Синтаксис: bValue=oXMLDOMNode.parsed
Пример использования свойства parsed
Пример:
<script language=“vbscript”> Dim xmlDoc
Dim root
Set xmlDoc =
CreateObject("microsoft.xmldom") xmlDoc.async = True xmlDoc.load("candidate.xml")
Set root = xmlDoc.documentElement
MsgBox root.parsed
</script>
Метод cloneNode
Узел, для которого следует создать клон
cloneNode( )
Узел и его клон
SAX
Сокращение от “Simple API for XML” (Простой прикладной интерфейс для XML)
Это набор прикладных интерфейсов API для работы с XML
SAX не требует большого объёма памяти
SAX часто используется в приложениях серверной стороны, так как он быстр, и поддерживает одновременное подключение нескольких клиентских систем к серверу
Изначально SAX был разработан для языка программирования Java
ContentHandler является главным интерфейсом SAX