Интерфейс XMLEventWriter
- Все суперинтерфейсы:
XMLEventConsumer
public interface XMLEventWriter extends XMLEventConsumer
Это интерфейс верхнего уровня для записи XML-документов. Экземпляры этого интерфейса не обязаны проверять формат XML.
- С момента:
- 1.6
- См. также:
-
XMLEventReader,XMLEvent,Characters,ProcessingInstruction,StartElement,EndElement
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add(XMLEvent event) |
Добавление события в выходной поток. Добавление START_ELEMENT откроет новый контекст пространства имен, который будет закрыт при записи соответствующего END_ELEMENT. |
void |
add(XMLEventReader reader) |
Добавляет весь поток в выходной поток, вызывает next() на аргументе inputStream, пока hasNext() не вернёт false. Это следует рассматривать как удобный метод, который выполнит цикл по всем событиям в читателе событий и вызовет add для каждого события. |
void |
close() |
Освобождает все ресурсы, связанные с этим потоком. |
void |
flush() |
Записывает все кэшированные события в базовом механизме вывода. |
NamespaceContext |
getNamespaceContext() |
Возвращает текущий контекст пространства имен. |
String |
getPrefix(String uri) |
Получает префикс, связанный с URI. |
void |
setDefaultNamespace(String uri) |
Связывает URI с пространством имен по умолчанию. Этот URI связан в рамках текущей пары START_ELEMENT/END_ELEMENT. |
void |
setNamespaceContext(NamespaceContext context) |
Устанавливает текущий контекст пространства имен для связывания префиксов и URI. |
void |
setPrefix(String prefix,
String uri) |
Устанавливает префикс, связанный с URI. |
Методы
flush
void flush()
throws XMLStreamException
Записывает все кэшированные события в базовом механизме вывода.
- Исключения:
XMLStreamException
close
void close()
throws XMLStreamException
Освобождает все ресурсы, связанные с этим потоком.
- Исключения:
XMLStreamException
add(javax.xml.stream.events.XMLEvent)
void add(XMLEvent event) throws XMLStreamException
Добавление события в выходной поток. Добавление START_ELEMENT откроет новый контекст пространства имен, который будет закрыт при записи соответствующего END_ELEMENT.
| Тип события | Обязательные поля | Необязательные поля | Обязательное поведение |
|---|---|---|---|
| START_ELEMENT | QName name | namespaces, attributes | START_ELEMENT будет записан путём записи имени, пространств имён и атрибутов события в валидном формате XML 1.0 для START_ELEMENT. Имя записывается, используя префикс для namespace uri. Писатель может быть настроен на учёт префиксов в QNames. Если писатель учитывает префиксы, он должен использовать префикс, заданный в QName. По умолчанию используется значение для префикса в контексте пространства имён EventWriter. Каждый атрибут (если есть) записывается с использованием поведения, указанного в разделе атрибутов этой таблицы. Каждое пространство имён (если есть) записывается с использованием поведения, указанного в разделе пространства имён этой таблицы. |
| END_ELEMENT | Qname name | Нет | Пишется хорошо сформированный тег END_ELEMENT. Имя записывается, используя префикс для namespace uri. Писатель может быть настроен на учёт префиксов в QNames. Если писатель учитывает префиксы, он должен использовать префикс, заданный в QName. По умолчанию используется значение для префикса в контексте пространства имён EventWriter. Если имя END_ELEMENT не совпадает с именем START_ELEMENT, выбрасывается XMLStreamException. |
| ATTRIBUTE | QName name, String value | QName type | Атрибут записывается с использованием того же алгоритма поиска лексической формы, что и в START_ELEMENT. По умолчанию используется двойная кавычка для обёртывания значений атрибутов и экранирования любых двойных кавычек, найденных в значении. Значение type игнорируется. |
| NAMESPACE | String prefix, String namespaceURI, boolean isDefaultNamespaceDeclaration | Нет | Запись объявления пространства имён. Если пространство имён является пространством имён по умолчанию (isDefault - true), то записывается xmlns="$namespaceURI", а префикс является необязательным. Если isDefault - false, префикс должен быть объявлен, и писатель должен добавить xmlns к префиксу и записать стандартное объявление префикса. |
| PROCESSING_INSTRUCTION | Нет | String target, String data | Данные не обязательны и могут быть null. Target необходим и не может быть null. Писатель запишет раздел данных непосредственно после целевого, заключённый в соответствующий синтаксис XML 1.0 |
| COMMENT | Нет | String comment | Если комментарий присутствует (не null), он записывается, в противном случае записывается пустой комментарий |
| START_DOCUMENT | Нет | String encoding, boolean standalone, String version | Событие START_DOCUMENT не обязательно записывать в поток. Если оно присутствует, атрибуты записываются внутри соответствующего синтаксиса объявления XML |
| END_DOCUMENT | Нет | Нет | Ничего не записывается в вывод |
| DTD | String DocumentTypeDefinition | Нет | DocumentTypeDefinition записывается в вывод |
- Определено:
-
addв интерфейсеXMLEventConsumer - Параметры:
-
event— событие, которое нужно добавить - Исключения:
XMLStreamException
add(javax.xml.stream.XMLEventReader)
void add(XMLEventReader reader) throws XMLStreamException
Добавляет весь поток в выходной поток, вызывает next() на аргументе inputStream, пока hasNext() не вернёт false. Это следует рассматривать как удобный метод, который выполнит цикл по всем событиям в читателе событий и вызовет add для каждого события.
- Параметры:
-
reader— поток событий для добавления в выходной поток - Исключения:
XMLStreamException
getPrefix(java.lang.String)
String getPrefix(String uri)
throws XMLStreamException
Получает префикс, связанный с URI.
- Параметры:
-
uri— URI для поиска - Исключения:
XMLStreamException
setPrefix(java.lang.String,java.lang.String)
void setPrefix(String prefix,
String uri)
throws XMLStreamException
Устанавливает префикс, связанный с URI. Этот префикс связан в рамках текущей пары START_ELEMENT/END_ELEMENT. Если этот метод вызывается до записи START_ELEMENT, префикс связывается в корневом контексте.
- Параметры:
-
prefix— префикс для связывания с URI -
uri— URI для связывания с префиксом - Исключения:
XMLStreamException
setDefaultNamespace(java.lang.String)
void setDefaultNamespace(String uri)
throws XMLStreamException
Связывает URI с пространством имен по умолчанию. Этот URI связан в рамках текущей пары START_ELEMENT/END_ELEMENT. Если этот метод вызывается до записи START_ELEMENT, URI связывается в корневом контексте.
- Параметры:
-
uri— URI для связывания с пространством имён по умолчанию - Исключения:
XMLStreamException
setNamespaceContext(javax.xml.namespace.NamespaceContext)
void setNamespaceContext(NamespaceContext context)
throws XMLStreamException
Устанавливает текущий контекст пространства имен для связывания префиксов и URI. Этот контекст становится корневым контекстом пространства имён для записи и заменит текущий корневой контекст пространства имён. Последующие вызовы setPrefix и setDefaultNamespace будут связывать пространства имён, используя переданный в метод контекст как корневой контекст для разрешения пространств имён.
- Параметры:
-
context— контекст пространства имен для этого писателя - Исключения:
XMLStreamException
getNamespaceContext()
NamespaceContext getNamespaceContext()
Возвращает текущий контекст пространства имён.
- Возвращает:
- текущий контекст пространства имён
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/javax/xml/stream/XMLEventWriter.html