Интерфейс XMLStreamWriter
public interface XMLStreamWriter
Интерфейс XMLStreamWriter определяет способ записи XML. XMLStreamWriter не проверяет корректность своего ввода. Однако метод writeCharacters обязан экранировать символы &, < и >. Для значений атрибутов метод writeAttribute будет экранировать перечисленные символы, а также ", чтобы все символы и значения атрибутов были корректными. Каждый NAMESPACE и ATTRIBUTE должен быть записан индивидуально.
Примечания:
| Метод |
isRepairingNamespaces == true |
isRepairingNamespaces == false | ||
|---|---|---|---|---|
| namespaceURI привязано | namespaceURI не привязано | namespaceURI привязано | namespaceURI не привязано | |
writeAttribute(namespaceURI, localName, value) | prefix:localName="значение" [1] | xmlns:{сгенерированное}="namespaceURI" {сгенерированное}:localName="значение" | prefix:localName="значение" [1] | XMLStreamException |
writeAttribute(prefix, namespaceURI, localName, value) | привязано к тому же префиксу: prefix:localName="значение" [1] привязано к другому префиксу: xmlns:{сгенерированное}="namespaceURI" {сгенерированное}:localName="значение" | xmlns:prefix="namespaceURI" prefix:localName="значение" [3] | привязано к тому же префиксу: prefix:localName="значение" [1][2] привязано к другому префиксу: XMLStreamException[2] | xmlns:prefix="namespaceURI" prefix:localName="значение" [2][5] |
writeStartElement(namespaceURI, localName)writeEmptyElement(namespaceURI, localName)
| <prefix:localName> [1] | <{generated}:localName xmlns:{generated}="namespaceURI"> | prefix:localName> [1] | XMLStreamException |
writeStartElement(prefix, localName, namespaceURI)writeEmptyElement(prefix, localName, namespaceURI)
| привязано к тому же префиксу:<prefix:localName> [1]привязано к другому префиксу: <{generated}:localName xmlns:{generated}="namespaceURI"> | <prefix:localName xmlns:prefix="namespaceURI"> [4] | привязано к тому же префиксу:<prefix:localName> [1]привязано к другому префиксу: XMLStreamException | <prefix:localName> |
- [1] если namespaceURI == URI по умолчанию, то префикс не записывается
- [2] если prefix == "" || null && namespaceURI == "", то префикс или объявление пространства имён не генерируется или не записывается
- [3] если prefix == "" || null, то префикс генерируется случайным образом
- [4] если prefix == "" || null, то он обрабатывается как пространство имён по умолчанию, и префикс не генерируется или не записывается, объявление xmlns генерируется и записывается, если namespaceURI не привязано
- [5] если prefix == "" || null, то это считается некорректной попыткой определения пространства имён по умолчанию, и выбрасывается XMLStreamException
- С момента:
- 1.6
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот писатель и освобождает все ресурсы, связанные с писателем. |
void |
flush() |
Записывает все кэшированные данные в базовый механизм вывода. |
NamespaceContext |
getNamespaceContext() |
Возвращает текущий контекст пространства имён. |
String |
getPrefix |
Получает префикс, к которому привязано uri. |
Object |
getProperty |
Получает значение функции/свойства из базовой реализации. |
void |
setDefaultNamespace |
Привязывает URI к пространству имён по умолчанию. Этот URI привязывается в рамках текущей пары START_ELEMENT/END_ELEMENT. |
void |
setNamespaceContext |
Устанавливает текущий контекст пространства имён для привязки префикса и uri. |
void |
setPrefix |
Устанавливает префикс, к которому привязывается uri. |
void |
writeAttribute |
Записывает атрибут в поток вывода без префикса. |
void |
writeAttribute |
Записывает атрибут в поток вывода. |
void |
writeAttribute |
Записывает атрибут в поток вывода. |
void |
writeCData |
Записывает раздел CData. |
void |
writeCharacters |
Записывает текст в выходной поток. |
void |
writeCharacters |
Записывает текст в выходной поток. |
void |
writeComment |
Записывает xml комментарий с заключёнными данными. |
void |
writeDefaultNamespace |
Записывает пространство имён по умолчанию в поток. |
void |
writeDTD |
Записывает раздел DTD. |
void |
writeEmptyElement |
Записывает пустой тег элемента в вывод. |
void |
writeEmptyElement |
Записывает пустой тег элемента в вывод. |
void |
writeEmptyElement |
Записывает пустой тег элемента в вывод. |
void |
writeEndDocument() |
Закрывает все начальные теги и записывает соответствующие закрывающие теги. |
void |
writeEndElement() |
Записывает закрывающий тег в вывод, полагаясь на внутреннее состояние писателя для определения префикса и локального имени события. |
void |
writeEntityRef |
Записывает ссылку на сущность. |
void |
writeNamespace |
Записывает пространство имён в поток вывода. Если аргумент prefix этого метода пустая строка, «xmlns» или null, этот метод делегирует writeDefaultNamespace. |
void |
writeProcessingInstruction |
Записывает инструкцию обработки. |
void |
writeProcessingInstruction |
Записывает инструкцию обработки. |
void |
writeStartDocument() |
Записывает XML-объявление. |
void |
writeStartDocument |
Записывает XML-объявление. |
void |
writeStartDocument |
Записывает XML-объявление. |
void |
writeStartElement |
Записывает открывающий тег в вывод. |
void |
writeStartElement |
Записывает открывающий тег в вывод. |
void |
writeStartElement |
Записывает открывающий тег в вывод. |
Подробности методов
writeStartElement
void writeStartElement(String localName) throws XMLStreamException
Записывает открывающий тег в выходной поток. Все методы writeStartElement открывают новый контекст вложенного пространства имен. Запись соответствующего закрывающего тега (EndElement) закрывает этот контекст.
- Параметры:
-
localName- локальное имя тега, не может быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeStartElement
void writeStartElement(String namespaceURI, String localName) throws XMLStreamException
Записывает открывающий тег в выходной поток.
- Параметры:
-
namespaceURI- URI пространства имен для использования префикса, не может быть null -
localName- локальное имя тега, не может быть null - Исключения:
-
XMLStreamException- если URI пространства имен не привязан к префиксу, и javax.xml.stream.isRepairingNamespaces не установлено в значение true
writeStartElement
void writeStartElement(String prefix, String localName, String namespaceURI) throws XMLStreamException
Записывает открывающий тег в выходной поток.
- Параметры:
-
prefix- префикс тега, не может быть null -
localName- локальное имя тега, не может быть null -
namespaceURI- URI для привязки префикса, не может быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeEmptyElement
void writeEmptyElement(String namespaceURI, String localName) throws XMLStreamException
Записывает пустой тег элемента в выходной поток.
- Параметры:
-
namespaceURI- URI пространства имен для привязки тега, не может быть null -
localName- локальное имя тега, не может быть null - Исключения:
-
XMLStreamException- если URI пространства имен не привязан к префиксу, и javax.xml.stream.isRepairingNamespaces не установлено в значение true
writeEmptyElement
void writeEmptyElement(String prefix, String localName, String namespaceURI) throws XMLStreamException
Записывает пустой тег элемента в выходной поток.
- Параметры:
-
prefix- префикс тега, не может быть null -
localName- локальное имя тега, не может быть null -
namespaceURI- URI для привязки префикса, не может быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeEmptyElement
void writeEmptyElement(String localName) throws XMLStreamException
Записывает пустой тег элемента в выходной поток.
- Параметры:
-
localName- локальное имя тега, не может быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeEndElement
void writeEndElement() throws XMLStreamException
Записывает закрывающий тег в выходной поток, используя внутреннее состояние писателя для определения префикса и локального имени события.
- Исключения:
-
XMLStreamException- если произошла ошибка
writeEndDocument
void writeEndDocument() throws XMLStreamException
Закрывает все открытые теги и записывает соответствующие закрывающие теги.
- Исключения:
-
XMLStreamException- если произошла ошибка
close
void close() throws XMLStreamException
Закрывает этого писателя и освобождает все ресурсы, связанные с писателем. Это не должно закрывать базовый поток вывода.
- Исключения:
-
XMLStreamException- если произошла ошибка
flush
void flush() throws XMLStreamException
Записывает все кэшированные данные в базовый механизм вывода.
- Исключения:
-
XMLStreamException- если произошла ошибка
writeAttribute
void writeAttribute(String localName, String value) throws XMLStreamException
Записывает атрибут в выходной поток без префикса.
- Параметры:
-
localName- локальное имя атрибута -
value- значение атрибута - Исключения:
-
IllegalStateException- если текущее состояние не позволяет запись атрибута -
XMLStreamException- если произошла ошибка
writeAttribute
void writeAttribute(String prefix, String namespaceURI, String localName, String value) throws XMLStreamException
Записывает атрибут в выходной поток.
- Параметры:
-
prefix- префикс для этого атрибута -
namespaceURI- URI префикса для этого атрибута -
localName- локальное имя атрибута -
value- значение атрибута - Исключения:
-
IllegalStateException- если текущее состояние не позволяет запись атрибута -
XMLStreamException- если URI пространства имен не привязан к префиксу, и javax.xml.stream.isRepairingNamespaces не установлено в значение true
writeAttribute
void writeAttribute(String namespaceURI, String localName, String value) throws XMLStreamException
Записывает атрибут в выходной поток.
- Параметры:
-
namespaceURI- URI префикса для этого атрибута -
localName- локальное имя атрибута -
value- значение атрибута - Исключения:
-
IllegalStateException- если текущее состояние не позволяет запись атрибута -
XMLStreamException- если URI пространства имен не привязан к префиксу, и javax.xml.stream.isRepairingNamespaces не установлено в значение true
writeNamespace
void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException
Записывает пространство имен в выходной поток. Если аргумент префикса в этом методе пустая строка, "xmlns", или null, этот метод делегирует writeDefaultNamespace
- Параметры:
-
prefix- префикс для привязки пространства имен -
namespaceURI- URI для привязки префикса - Исключения:
-
IllegalStateException- если текущее состояние не позволяет запись пространства имен -
XMLStreamException- если произошла ошибка
writeDefaultNamespace
void writeDefaultNamespace(String namespaceURI) throws XMLStreamException
Записывает пространство имен по умолчанию в поток.
- Параметры:
-
namespaceURI- URI для привязки пространства имен по умолчанию - Исключения:
-
IllegalStateException- если текущее состояние не позволяет запись пространства имен -
XMLStreamException- если произошла ошибка
writeComment
void writeComment(String data) throws XMLStreamException
Записывает XML комментарий с заключёнными данными.
- Параметры:
-
data- данные, содержащиеся в комментарии, могут быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeProcessingInstruction
void writeProcessingInstruction(String target) throws XMLStreamException
Записывает инструкцию обработки.
- Параметры:
-
target- целевой объект инструкции обработки, не может быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeProcessingInstruction
void writeProcessingInstruction(String target, String data) throws XMLStreamException
Записывает инструкцию обработки.
- Параметры:
-
target- целевой объект инструкции обработки, не может быть null -
data- данные, содержащиеся в инструкции обработки, не могут быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeCData
void writeCData(String data) throws XMLStreamException
Записывает раздел CData.
- Параметры:
-
data- данные, содержащиеся в разделе CData, не могут быть null - Исключения:
-
XMLStreamException- если произошла ошибка
writeDTD
void writeDTD(String dtd) throws XMLStreamException
Записывает раздел DTD. Эта строка представляет собой полное производство doctypedecl из спецификации XML 1.0.
- Параметры:
-
dtd- записываемый DTD - Исключения:
-
XMLStreamException- если произошла ошибка
writeEntityRef
void writeEntityRef(String name) throws XMLStreamException
Записывает ссылку на сущность.
- Параметры:
-
name- имя сущности - Исключения:
-
XMLStreamException- если произошла ошибка
writeStartDocument
void writeStartDocument() throws XMLStreamException
Записывает объявление XML. По умолчанию версия XML - 1.0, кодировка - utf-8
- Исключения:
-
XMLStreamException- если произошла ошибка
writeStartDocument
void writeStartDocument(String version) throws XMLStreamException
Записать объявление XML. По умолчанию версия XML равна 1.0
- Parameters:
-
version- версия документа xml - Throws:
-
XMLStreamException- если произошла ошибка
writeStartDocument
void writeStartDocument(String encoding, String version) throws XMLStreamException
Записать объявление XML. Обратите внимание, что параметр кодировки не устанавливает фактическую кодировку базового вывода. Это нужно установить при создании экземпляра XMLStreamWriter с помощью XMLOutputFactory
- Parameters:
-
encoding- кодировка объявления xml -
version- версия документа xml - Throws:
-
XMLStreamException- Если заданная кодировка не совпадает с кодировкой базового потока
writeCharacters
void writeCharacters(String text) throws XMLStreamException
Записать текст в выходной поток
- Parameters:
-
text- значение для записи - Throws:
-
XMLStreamException- если произошла ошибка
writeCharacters
void writeCharacters(char[] text, int start, int len) throws XMLStreamException
Записать текст в выходной поток
- Parameters:
-
text- значение для записи -
start- начальная позиция в массиве -
len- количество символов для записи - Throws:
-
XMLStreamException- если произошла ошибка
getPrefix
String getPrefix(String uri) throws XMLStreamException
Получает префикс, привязанный к URI.
- Parameters:
-
uri- URI, к которому привязан префикс - Returns:
- префикс или null
- Throws:
-
XMLStreamException- если произошла ошибка
setPrefix
void setPrefix(String prefix, String uri) throws XMLStreamException
Устанавливает префикс, привязанный к URI. Этот префикс привязывается в рамках текущей пары START_ELEMENT / END_ELEMENT. Если этот метод вызывается до записи START_ELEMENT, префикс привязывается в корневом пространстве имён.
- Parameters:
-
prefix- префикс для привязки к URI, не может быть null -
uri- URI для привязки к префиксу, может быть null - Throws:
-
XMLStreamException- если произошла ошибка
setDefaultNamespace
void setDefaultNamespace(String uri) throws XMLStreamException
Привязывает URI к пространству имён по умолчанию. Этот URI привязывается в рамках текущей пары START_ELEMENT / END_ELEMENT. Если этот метод вызывается до записи START_ELEMENT, URI привязывается в корневом пространстве имён.
- Parameters:
-
uri- URI для привязки к пространству имён по умолчанию, может быть null - Throws:
-
XMLStreamException- если произошла ошибка
setNamespaceContext
void setNamespaceContext(NamespaceContext context) throws XMLStreamException
Устанавливает текущий контекст пространств имён для привязки префиксов и URI. Этот контекст становится корневым контекстом пространства имён для записи и заменит текущий корневой контекст пространства имён. Последующие вызовы setPrefix и setDefaultNamespace будут привязывать пространства имён, используя контекст, переданный в метод, как корневой контекст для разрешения пространств имён. Этот метод может быть вызван только один раз в начале документа. Он не приводит к объявлению пространств имён. Если в контексте пространства имён найдено соответствие URI и префикса, оно рассматривается как объявленное, и префикс может использоваться StreamWriter.
- Parameters:
-
context- контекст пространств имён для использования данным писателем, не может быть null - Throws:
-
XMLStreamException- если произошла ошибка
getNamespaceContext
NamespaceContext getNamespaceContext()
Возвращает текущий контекст пространств имён.
- Returns:
- текущий NamespaceContext
getProperty
Object getProperty(String name) throws IllegalArgumentException
Получить значение функции/свойства из базовой реализации
- Parameters:
-
name- Имя свойства, не может быть null - Returns:
- Значение свойства
- Throws:
-
IllegalArgumentException- если свойство не поддерживается -
NullPointerException- если имя null
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/stream/XMLStreamWriter.html