Объект XMLDOMDocument |
Представляет верхний уровень объектной иерархии и содержит методы для работы с документом: его загрузки, анализа, создания в нем элементов, атрибутов, комментариев и т.д. . Многие свойства и методы этого объекта реализованы также в рассмотренном выше класса Node, т.к. документ может быть рассмотрен как корневой узел с вложенными в него поддеревьями. |
Свойства |
Получение и информации о текущем состоянии процесса загрузки и анализа документа. |
async | Свойство, доступное для записи и чтения, идентифицирующее текущий режим обработки (синхронный или асинхронный) |
parseError | Возвращает ссылку на объект XMLDOMParseError, при помощи которого можно получить всю необходимую информацию о последней ошибке анализатора. Только для чтения. |
readyState | Содержит информацию о текущем состоянии анализатора:- LOADING (1) - находится в процессе загрузки документа
- LOADED (2) - загрузка завершена, но объектная модель документа еще не создана
- INTERACTIVE (3) - объектная модель создана(все элементы документа разобраны, установлены их связи и атрибуты) но доступна пока только для чтения
- COMPLETED (4) - с ошибками или без, но документ разобран
Для получения своевременной информации о текущем состоянии анализатора можно воспользоваться обработчиком событий 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() | Возвращает истину, если текущий узел содержит поддерево. |