Класс DocumentBuilderFactory

Класс DocumentBuilderFactory пакета javax.xml.parsers определяет производственный (factory) интерфейс прикладного программирования для конфигурирования и получения DOM-анализатора.

Новый экземпляр этого класса можно получить с помощью метода

public static DocumentBuilderFactory newInstance()

throws FactoryConfigurationError.

Создание нового экземпляра DOM-анализатора с использованием текущих производственных параметров выполняется с помощью метода

public abstract DocumentBuilder newDocumentBuilder()

throws ParserConfigurationException

 

В классе DocumentBuilderFactory определены также конкретные реализации методов получения и установки значений параметров конфигурации данного DOM-анализатора.

Так, методы

public boolean isNamespaceAware()

public void setNamespaceAware(boolean awareness)

проверяют возможность работы с пространствами имен или устанавливают возможность работы с пространствами имен (при значении awareness, равном true), а методы

public boolean isValidating()

public void setValidating(boolean validating).

проверяют возможность определения действительности документа XML или устанавливают проверку действительности документа XML (при значении validating, равном true)

По умолчанию значения awareness и validating установлены в false.

 

Методы

public boolean isExpandEntityReferences()

public void

setExpandEntityReferences(boolean expandEntityRef)

проверяют возможность DOM-анализатора расширять узлы ссылок на сущности в документе XML или устанавливают возможность расширения узлов ссылок на сущности в документе XML (при значении expandEntityRef, равном true) По умолчанию значение expandEntityRef установлено в true.

 

Методы

public boolean isIgnoringComments()

public void setIgnoringComments(boolean ignoreComments)

проверяют, игнорирует ли DOM-анализатор комментарии в документе XML или устанавливают режим игнорирования комментариев в документе XML (при значении ignoreComments, равном true) По умолчанию значение ignoreComments установлено в false.

 

Методы

public boolean isIgnoringElementContentWhitespace()

public void

setIgnoringElementContentWhitespace(boolean whitespace)

проверяют, игнорирует ли DOM-анализатор лишние пробелы в содержимом элемента документа XML или устанавливают режим игнорирования лишних пробелов в содержимом элемента документа XML (при значении whitespace, равном true) По умолчанию значение whitespace установлено в false.

 

Методы

public boolean isCoalescing()

public void setCoalescing(boolean coalescing)

проверяют, сконфигурирован ли DOM-анализатор для преобразования узлов типа CDATA в узлы типа Text и присоединяют их к соседнему узлу (если он существует) в документе XML или устанавливают режим такого преобразования в документе XML (при значении coalescing, равном true) По умолчанию значение coalescing установлено в false.

 

Методы

public abstract Object getAttribute(String name)

throws IllegalArgumentException

public abstract void setAttribute(String name,

Object value) throws IllegalArgumentException

позволяют пользователю получать или устанавливать значение указанного атрибута в данной реализации.

 

Примеры открытия документа XML:

1. Открытие существующего файла email.xml (см. 5.1.1.5.2):

import org.w3c.dom.*;

import javax.xml.parsers.*;

Document emailDoc;

try {

// Создание объекта DocumentBuilderFactory

DocumentBuilderFactory emailFactory =

DocumentBuilderFactory.newInstance();

// Создание объекта DocumentBuilder

DocumentBuilder emailBuilder =

emailFactory.newDocumentBuilder();

// Анализ документа в файле email.xml

emailDoc = emailBuilder.parse("email.xml");

// Обработка документа emailDoc

 

}

// Обработка исключений

catch(Exception e) {

System.out.println("Ошибка XML:" +

e.getMessage());

}

2. Создание дерева нового документа newEmail.xml с использованием метода newDocument():

import org.w3c.dom.*;

import javax.xml.parsers.*;

Document newEmailDoc;

try {

// Создание объекта DocumentBuilderFactory

DocumentBuilderFactory newEmailFactory =

DocumentBuilderFactory.newInstance();

// Создание объекта DocumentBuilder

DocumentBuilder newEmailBuilder =

newEmailFactory.newDocumentBuilder();

// Создание нового документа newEmailDoc

newEmailDoc = newEmailBuilder.newDocument();

// Формирование документа newEmailDoc

 

}

// Обработка исключений

catch(Exception e) {

System.out.println("Ошибка XML:" +

e.getMessage());

}

3. Создание дерева нового документа email1.xml с использованием метода getDOMImplementation():

import org.w3c.dom.*;

import javax.xml.parsers.*;

Document email1Doc;

try {

// Создание объекта DocumentBuilderFactory

DocumentBuilderFactory email1Factory =

DocumentBuilderFactory.newInstance();

// Создание объекта DocumentBuilder

DocumentBuilder email1Builder =

email1Factory.newDocumentBuilder();

// Создание объекта DOMImplementation

DOMImplementation email1Impl =

email1Builder.getDOMImplementation();

// Создание нового документа email1Doc

email1Doc = email1Impl.createDocument(

null,"email-folder", null);

// Формирование документа emailDoc

 

}

// Обработка исключений

catch(Exception e) {

System.out.println("Ошибка XML:" +

e.getMessage());

}








Дата добавления: 2015-03-20; просмотров: 1767;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.015 сек.