- •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
Метод appendchild
Добавляет новый узел
Возвращает новый "дочерний" узел, успешно добавленный к списку
Пример:
<script language="vbs"> Dim xmlDoc
Dim root
Dim newNode
Set xmlDoc = CreateObject("microsoft.xmldom") xmlDoc.async = False xmlDoc.load("candidate.xml")
Set root = xmlDoc.documentElement MsgBox root.xml
Set newNode = xmlDoc.createNode (1, "SampleNode", "") root.appendChild(newNode)
MsgBox root.xml </script>
Событие ondataavailable
Сообщает о доступности данных в документе XML
При работе с асинхронными данными удобно начать обработку параллельно с загрузкой, сразу после того, как данные становятся доступными
Генерируется каждый раз, когда поступает новая порция данных
Свойство ‘readstate’ определяет несколько состояний, которые характеризуют текущий статус асинхронной загрузки
Объект XMLDOMNode
Объект XMLDOMNode
Интерфейс узла XML DOM
Расширение
Некоторые объекты DOM, которые являются производными от объекта XMLDOMNODE
DOMDocument XTLRuntime XMLDOMAttribute XMLDOMCDATASection XMLDOMComment XMLDOMDocumentType
Пример использования объекта XMLDOMNode
<html>
<body>
<script language="vbscript"> Dim cNode
Set xmlDoc = CreateObject("microsoft.xmldom") xmlDoc.async = false xmlDoc.load("candidate.xml")
Set cNode = xmlDoc.documentElement.childNodes.item(0) MsgBox cNode.xml
</script>
</body>
</html>
Свойства объекта XMLDOMNode
Свойства Описание
lastChild |
Возвращает последний |
дочерний узел. |
|
Свойство предназначено только для чтения. |
|
|
|
|
nextSibling |
Содержит следующего "брата" для текущего |
|
|
узла в списке потомков родителя. Свойство |
|
|
предназначено только для чтения. |
|
xml |
Содержит XML-представление узла и всех |
|
|
его потомков. Свойство |
предназначено |
|
только для чтения. |
|
Свойство lastChild
Свойство возвращает последний дочерний узел
Пример:
<html>
<body>
<script language="vbscript"> Dim xmlDoc
Dim currNode
Set xmlDoc = CreateObject("microsoft.xmldom") xmlDoc.load("candidate.xml")
Set currNode = xmlDoc.documentElement.lastchild MsgBox currNode.xml
</script>
</body>
</html>
Свойство nextSibling
Содержит следующий соседний узел для текущего узла в списке потомков родителя
Пример:
<script language="vbscript"> Dim xmlDoc
Dim cNode Dim nextNode
Set xmlDoc = CreateObject("microsoft.xmldom") xmlDoc.load("candidate.xml")
Set cNode = xmlDoc.documentElement.childNodes.item(0) Set nextNode = cNode.nextSibling
MsgBox nextNode.xml </script>
Вывод результата работы примера
Свойство Xml
Содержит XML-представление текущего кода и всех его потомков
Свойство предназначено только для чтения
Всегда возвращает строку в кодировке UNICODE, которая отменяет исходную кодировку атрибута
<?xml version=“1.0” encoding=“UTF-8”?> выглядит в свойстве xml, как:
<?xml version=“1.0”?>
Методы объекта XMLDOMNode
Методы |
Описание |
selectNodes |
Применяет заданную операцию поиска по |
|
образцу к контексту данного узла и возвращает |
|
список найденных (совпавших) узлов. |
|
|
selectSingleNode |
Применяет заданную операцию поиска по |
|
образцу к контексту данного узла и возвращает |
|
первый найденный (совпавший) узел. |