Средства преобразования для потоков ввода-вывода

Средства преобразования для потоков ввода-вывода определены в классах StreamSource и StreamResult пакета javax.xml.transform.stream.

Класс StreamSource действует как хранилище для источника преобразования в виде потока разметки XML.

Конструкторы класса

public StreamSource()

public StreamSource(File f)

public StreamSource(InputStream inputStream)

public StreamSource(InputStream inputStream,

String systemId)

public StreamSource(Reader reader)

public StreamSource(Reader reader, String systemId)

public StreamSource(String systemId)

создают соответственно пустой входной поток, входной поток из файла, байтовый входной поток, байтовый входной поток с заданного системного идентификатора, символьный входной поток, символьный входной поток с заданного системного идентификатора, и, наконец, входной поток с заданного системного идентификатора.

В классе StreamSource задано поле

public static final String FEATURE.

Если метод getFeature() класса TransformerFactory возвращает true для значения FEATURE, указанного в качестве аргумента метода, то объект Transformer, поддерживает входной источник данного типа.

Методы класса позволяют получить или установить источники входного потока.

Так, методы

public InputStream getInputStream()

public void setInputStream(InputStream inputStream)

получают и устанавливают байтовый входной поток для источника, а методы

public Reader getReader()

public void setReader(Reader reader)

выполняют те же операции для символьного потока.

Методы

public String getPublicId()

public void setPublicId(String publicId)

получают и устанавливают общедоступный идентификатор для источника, а методы

public String getSystemId()

public void setSystemId(String systemId)

выполняют те же операции для системного идентификатора.

Метод

public void setSystemId(File f)

позволяет получить системный идентификатор из ссылки на файл

 

Класс StreamResult действует как хранилище для результата преобразования, который может быть документом XML или HTML, либо текстовым документом.

Конструкторы класса

public StreamResult()

public StreamResult(File f)

public StreamResult(OutputStream outputStream)

public StreamResult(String systemId)

public StreamResult(Writer writer)

создают соответственно пустой выходной поток, входной поток в файл, байтовый выходной поток, выходной поток в заданный системный идентификатор или символьный выходной поток.

В классе StreamResult задано поле

public static final String FEATURE.

Если метод getFeature() класса TransformerFactory возвращает true для значения FEATURE, указанного в качестве аргумента метода, то объект Transformer, поддерживает выходной адресат данного типа.

Методы класса позволяют получить или установить адресаты выходного потока.

Так, методы

public OutputStream getOutputStream()

public void setOutputStream(OutputStream outputStream)

получают и устанавливают байтовый выходной поток для адресата, а методы

public Writer getWriter()

public void set Writer(Writer writer)

выполняют те же операции для символьного выходного потока.

Методы

public String getSystemId()

public void setSystemId(String systemId)

получают и устанавливают общедоступный идентификатор для адресата, а метод

public void setSystemId(File f)

позволяет получить системный идентификатор из ссылки на файл.

 

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

1. Вывод документа newEmailDoc в файл newemail.xml:

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

TransformerFactory transXMLFactory =

TransformerFactory.newInstance() ;

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

Transformer XMLTransformer =

transXMLFactory.newTransformer();

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

DOMSource sourceXML = new DOMSource(newEmailDoc);

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

File newXMLFile = new File("newemail.xml");

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

FileOutputStream newEmailOutput =

new FileOutputStream(newXMLFile);

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

StreamResult resultXML = new StreamResult(newEmailOutput);

// Выполнение преобразования из DOMSource в

// StreamResult и вывод результата в файл newemail.xml

XMLTransformer.transform(sourceXML, resultXML);

 

 

2. Вывод содержимого документа email1Doc на экран:

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

TransformerFactory transStringFactory =

TransformerFactory.newInstance() ;

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

Transformer stringTransformer =

transStringFactory.newTransformer();

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

DOMSource sourceStringXML = new DOMSource(email1Doc);

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

StringWriter outputXMLString = new StringWriter();

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

StreamResult resultStringXML =

new StreamResult(outputXMLString);

// Выполнение преобразования из DOMSource в

// StreamResult и вывод результата в outputXMLString

stringTransformer.transform(sourceStringXML,

resultStringXML);

// Преобразование результата в строку

String newEmailString = outputXMLString.toString();

// Вывод документа на экран

System.out.println("Новый документ XML:\n " +

newEmailString);

 

 








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


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

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

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

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