Объект XMLDOMNode
Общая информация о текущем элементе дерева
nodeName
Возвращает полное название(вместе с Namaspace атрибутом) текущего узла в виде строки. Доступно только для чтения.
baseName
Возвращает название элемента без префикса Namespace. Только для чтения.
prefix
Возвращает Namespace префикс. Только для чтения.
namespaceURI
Возвращает URI Namespace префикса текущего элемента
dataType
Определяет тип содержимого текущего узла(описываемое схемами данных). Доступно для записи и чтения
nodeType
Возвращает тип текущего узла:
NODE_ELEMENT (1) - элемент
NODE_ATTRIBUTE (2) - атрибут
NODE_TEXT (3) - текст
NODE_CDATA_SECTION (4) - область CDATA
NODE_ENTITY_REFERENCE (5) - объект ссылки на "макроподстановки"
NODE_ENTITY (6) - объект ссылки на т.н. "подстановочые символы" - entity"
NODE_PROCESSING_INSTRUCTION (7) - область инструкций XML процессору
NODE_COMMENT (8) - комментарий
NODE_DOCUMENT (9) - корневой элемент документа
NODE_DOCUMENT_TYPE (10) - описание типа документа, задаваемое тэгом <!DOCTYPE>
NODE_DOCUMENT_FRAGMENT (11) - фрагмент XML-документа - несвязанное поддерево
NODE_NOTATION (12) - DTD нотация.
Свойство доступно только для чтения.
nodeTypeString
Возвращает тип узла в виде текста. Только для чтения.
attributes
Возвращает список атрибутов текущего узла в виде коллекции XMLDOMNamedNodeMap. Если атрибутов нет, то свойство length будет содержать нулевое значение. Для тех узлов, у которых не может быть атрибутов (в XML документе они могут быть назначены лишь объектам элементов, макроподстановок и нотаций) возвращается null. Для объектов макроподстановок и нотаций содержимым коллекции будут являться атрибуты SYSTEMID, PUBLICID и NDATA. Доступно только для чтения.
definition
Возвращает DTD определение для текущего узла дерева.
Содержимое текущего узла
text
Возвращает содержимое текущего поддерева(узла и всех его дочерних элементов). Доступно для записи и чтения
xml
Возвращает XML-представление текущего поддерева. Доступно только для чтения
nodeValue
Возвращает содержимое текущего узла. Доступно для чтения и записи.
Работа со списком дочерних элементов
childNodes
Для тех узлов, которые имеют дочерние элементы возвращает их список в виде XMLDOMNodeList. В том случае, если дочерних элементов нет, значение свойства length списка равно нулю . Только для чтения.
lastChild
Возвращает последний дочерний элемент или null, если таковых не имеется. Свойство доступно только для чтения.
firstChild
Возвращает последний дочерний элемент или null. Только для чтения.
nextSibling
Возвращает следующий дочерний элемент. Только для чтения.
previousSibling
Возвращает предыдущий дочерний элемент. Доступно только для чтения.
parentNode
Содержит ссылку на родительский элемент. В том случае, когда такого элемента нет, возвращает null. Доступно только для чтения.
ownerDocument
Возвращает указатель на документ, в котором находится текущий узел. Если в процессе модификации дерева узел будет перенесен в другой документ, то значение этого свойства автоматически изменится. Только для чтения.
Добавление новых элементов в объектную модель документа
appendChild(newChild)
Добавляет текущему узлу новый дочерний элемент. Возвращает ссылку на объект этого нового элемента. То же самое можно сделать и при помощи insertBefore (newChild, null)
insertBefore(newChild, refChild)
Вставляет дочерний узел, располагая его в текущем поддереве "левее" узла, указанного параметром refChild. Если последний параметр не задан, то новый узел будет добавлен в конец списка.
Модификация и удаление узлов
cloneNode (deep)
Создание копии текущего элемента. Параметр deep определяет, будет ли эта процедура рекурсивно выполняться для всех дочерних элементов. Возвращаемое значение - ссылка на новый элемент
replaceChild(newChild, oldChild)
Замена объекта oldChild текущего списка дочерних объектов на newChild. Если newChild=null, то старый объект будет просто удален.
removeChild(oldChild)
Удаление объекта oldChild из списка дочерних элементов
Поиск узлов (выделение поддеревьев)
selectNodes(patternString)
Возвращает объект XMLDOMNodeList, содержащий поддерево, выбранное по шаблону поиска pattertnString
selectSingleNode(patternString)
Аналогичен методу selectNodes, только возвращает первый узел из найденного поддерева
Обработка поддеревьев стилевыми таблицами
transformNode(stylesheet)
Назначает стилевую таблицу для поддерева текущего узла и возвращает строку - результат обработки. В качестве параметра передается ссылка на объект DOMDocument, в котором находятся XSL инструкции.
transformNodeToObject(stylesheet, outputObject)
То же, что и transformNode, только результат - обработанное дерево передается в объект XMLDocument(другое дерево), задаваемый параметром outputObject
Объект XMLDOMDocument | |
Представляет верхний уровень объектной иерархии и содержит методы для работы с документом: его загрузки, анализа, создания в нем элементов, атрибутов, комментариев и т.д. . Многие свойства и методы этого объекта реализованы также в рассмотренном выше класса Node, т.к. документ может быть рассмотрен как корневой узел с вложенными в него поддеревьями. | |
Свойства | |
async
Свойство, доступное для записи и чтения, идентифицирующее текущий режим обработки (синхронный или асинхронный)
parseError
Возвращает ссылку на объект XMLDOMParseError, при помощи которого можно получить всю необходимую информацию о последней ошибке анализатора. Только для чтения.
readyState
Содержит информацию о текущем состоянии анализатора:
Для получения своевременной информации о текущем состоянии анализатора можно воспользоваться обработчиком событий onreadystatechange
Только для чтения.
ondataavailable
Свойство, доступное только для записи, которое содержит ссылку на обработчик события ondataavailable (вызывается, когда обработчик обрабатывает очередную порцию данных документа)
onreadystatechange
Ссылка на обработчик события onreadystatechange (вызывается каждый раз, когда меняется состояние обработчика - свойство readyState)
ontransformnode
Ссылка на обработчик события ontransformnode (вызывается перед каждой трансформацией узла стилевыми таблицами)
Изменение параметров обработчика.
preserveWhiteSpace
Определяет, должны ли при разборе документа игнорироваться символы разделителей. Если значение свойства ложно, то будут, если истина - то разделители будут сохранены. По умолчанию установлено в false. Доступно для чтения и записи.
resolveExternals
Свойство определяет, будут ли в процессе анализа разбираться внешние определения (DTD-описания, макроподстановки и т.д.) - значение true или нет(false). Доступно для чтения и записи.
validateOnParse
Включение - выключение верификации документа. Значения true или false. Доступно для чтения и записи.
Получение информации о загруженном документе
doctype
Возвращает тип документа, определяемый при его создании тэгом <!DOCTYPE>, включающим DTD. Если в документе нет DTD описаний, возвращается null. Только для чтения.
url
Возвращает URL документа(в случае успешной его загрузки, в противном случае возвращает null). Доступно только для чтения.
implementation
Возвращет объект XMLDOMImplementation для данного документа. Только для чтения.
documentElement
Содержит ссылку на корневой элемент документа в виде объекта XMLDOMElement. Если корневого элемента нет, то возвращается null. Доступно для записи
Загрузка и сохранение документов
load(url)
Загружает документ, адрес которого задан параметром url. В случае успеха возвращает логическое значение true. Необходимо иметь в виду, что вызов этого метода сразу же обнуляет содержимое текущего документа
loadXML(xmlString)
Загружает XML - фрагмент, определенный в передаваемой строке
save(objTarget)
Сохраняет документ в файле (objTarget - строка, содержащая URL файла) или внутри другого документа (objTarget - объект XMLDOMDoument).
abort()
Прерывание процесса загрузки и обработки документа. Обработчик ошибок XMLDOMParseError будет содержать в коде ошибки соответствующее значение.
Создание новых объектов. Необходимо отметить, что все методы лишь создают указанные объекты и для включения их в объектную модель документа надо дополнительно использовать методы insertBefore, insertAfter или appendChild.
createAttribute (name)
Создает для текущего элемента новый атрибут с указанным именем. Новый атрибут добавляется в объектную модель документа только после определения его значения методом setAttribute.
createNode(Type, name, nameSpaceURI)
Создает узел указанного типа и названия. Namespace префикс задается параметром nameSpaceURI. Возвращаемым значением будет созданный объект указанного типа.
createCDATASection(data)
Создает область CDATA - возвращает объект XMLDOMCDATASection
createDocumentFragment()
Создает новый пустой фрагмента документа - объект XMLDOMDocumentFragment
createComment(data)
Создает комментарий.
createElement(tagName)
Создает элемент документа с указанным названием.
createEntityReference(name)
Создает ссылку на подстановочные символы
createProcessingInstruction(target, data)
Создает новую директиву XML-процессора
createTextNode(data)
Создает текст внутри документа
Поиск узлов дерева документа
getElementsByTagName(tagname)
Возвращает ссылку на коллекцию элементов документа с заданным именем (или всех элементов, если значение tagname равно "*")
nodeFromID(idString)
Поиск элемента по идентификатору
hasChildNodes()
Возвращает истину, если текущий узел содержит поддерево.
Объект XMLDOMNodeList | |
Представляет собой список узлов - поддеревья и содержит методы, при помощи которых можно организовать процедуру обхода дерева. | |
Свойства | |
length
число элементов списка узлов
item(i)
Выбор i- того элемента из списка. Возвращает объект XMLDOMNode
nextNode()
Выбор следующего элемента в списке. Если такого элемента нет, то возвращает null. первый вызов этого метода(после сброса итератора) возвратит ссылку на первый элемент списка.
reset()
Сброс внутреннего указателя текущего элемента
Объект XMLDOMParserError | |
Объект позволяет получить всю необходимую информацию об ошибке, произошедшей в ходе разбора документа. Все свойства этого объекта доступны только для чтения. | |
Свойства | |
Содержит код возникшей ошибки либо 0, если таковой не случилось.
url
Возвращает URL обрабатываемого документа
filepos
Возвращает смещение относительно начала файла фрагмента, в котором обнаружена ошибка
line
Содержит номер строки, содержащей ошибку
linepos
Позицию ошибки в строкев которой была обнаружена ошибка
reason
Описание ошибки
srcText
Содержит полный текст строки, в которой произошла ошибка