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