Интерфейс XMLStreamWriter
public interface XMLStreamWriter
Интерфейс XMLStreamWriter определяет способ записи XML. XMLStreamWriter не выполняет проверку корректности входных данных. Однако метод writeCharacters обязан экранировать &, < и >. Для значений атрибутов метод writeAttribute будет экранировать вышеперечисленные символы плюс " для обеспечения корректности всего содержимого символов и значений атрибутов. Каждый NAMESPACE и ATTRIBUTE должен быть записан индивидуально.
XML пространства имён, javax.xml.stream.isRepairingNamespaces и поведение метода write | ||||
|---|---|---|---|---|
| Метод |
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] | <{генерируемый}:localName xmlns:{генерируемый}="namespaceURI"> | <prefix:localName> [1] | XMLStreamException |
writeStartElement(prefix, localName, namespaceURI)writeEmptyElement(prefix, localName, namespaceURI)
| привязано к тому же префиксу: <prefix:localName> [1] привязано к другому префиксу: <{генерируемый}:localName xmlns:{генерируемый}="namespaceURI"> | <prefix:localName xmlns:prefix="namespaceURI"> [4] | привязано к тому же префиксу: <prefix:localName> [1] привязано к другому префиксу: XMLStreamException | <prefix:localName> |
Примечания:
| ||||
- С:
- 1.6
- Версия:
- 1.0
- См. также:
-
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- если 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- если 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
- Параметры:
-
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
setNamespaceContext
void setNamespaceContext(NamespaceContext context)
throws XMLStreamException Устанавливает текущий контекст пространства имён для привязки префиксов и URI. Этот контекст становится корневым контекстом пространства имён для записи и заменит текущий корневой контекст пространства имён. Последующие вызовы setPrefix и setDefaultNamespace будут привязывать пространства имён, используя контекст, переданный методу, в качестве корневого контекста для разрешения пространств имён. Этот метод может быть вызван только один раз в начале документа. Он не вызывает объявление пространств имён. Если в контексте пространства имён найдено сопоставление URI пространства имён с префиксом, оно обрабатывается как объявленное, и префикс может быть использован объектом StreamWriter.
- Параметры:
-
context- контекст пространства имён для использования этим объектом, не может быть null - Исключения:
XMLStreamException
getNamespaceContext
NamespaceContext getNamespaceContext()
Возвращает текущий контекст пространства имён.
- Возвращает:
- текущий NamespaceContext
getProperty
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.