Spec-Zone.ru › OpenJDK 27

Интерфейс XMLStreamReader

Все суперинтерфейсы:
XMLStreamConstants
Все известные реализующие классы:
StreamReaderDelegate
public interface XMLStreamReader extends XMLStreamConstants
Интерфейс XMLStreamReader предоставляет прямой доступ к XML только для чтения. Он разработан как наиболее низкоуровневый и эффективный способ чтения данных XML.

Интерфейс XMLStreamReader предназначен для перебора XML с помощью next() и hasNext(). Доступ к данным осуществляется с помощью таких методов, как getEventType(), getNamespaceURI(), getLocalName() и getText();

Экземпляр XMLStreamReader создается с начальным типом события START_DOCUMENT. В каждый момент времени у него есть текущее событие, к которому обращаются методы интерфейса; следующее событие может быть загружено методом next(). Текущий тип события можно определить с помощью метода getEventType(), а следующий тип возвращается методом next().

События разбора определяются как объявление XML, DTD, начальный тег, символьные данные, пробельные символы, конечный тег, комментарий или инструкция обработки. В результате выполнения операции запроса на корневом уровне документа может встретиться событие атрибута или пространства имен.

Для соответствия XML 1.0 XML-процессор должен передавать приложению идентификаторы объявленных неразбираемых сущностей, объявления нотаций и связанные с ними идентификаторы. Эти сведения предоставляются через API свойств этого интерфейса. Для доступа к ним предназначены следующие два свойства: javax.xml.stream.notations и javax.xml.stream.entities. Если текущее событие — DTD, следующий вызов вернет список нотаций List l = (List) getProperty("javax.xml.stream.notations"); Следующий вызов вернет список объявлений сущностей: List l = (List) getProperty("javax.xml.stream.entities"); Доступ к этим свойствам возможен только во время события DTD; если сведения недоступны, они возвращают null.

В следующей таблице указано, какие методы допустимы в каждом состоянии. При вызове метода в недопустимом состоянии будет выброшено исключение java.lang.IllegalStateException.

Допустимые методы для каждого состояния
Тип события Допустимые методы
Все состояния getProperty(), hasNext(), require(), close(), getNamespaceURI(), isStartElement(), isEndElement(), isCharacters(), isWhiteSpace(), getNamespaceContext(), getEventType(), getLocation(), hasText(), hasName()
START_ELEMENT next(), getName(), getLocalName(), hasName(), getPrefix(), getAttributeXXX(), isAttributeSpecified(), getNamespaceXXX(), getElementText(), nextTag()
ATTRIBUTE next(), nextTag() getAttributeXXX(), isAttributeSpecified(),
NAMESPACE next(), nextTag() getNamespaceXXX()
END_ELEMENT next(), getName(), getLocalName(), hasName(), getPrefix(), getNamespaceXXX(), nextTag()
CHARACTERS next(), getTextXXX(), nextTag()
CDATA next(), getTextXXX(), nextTag()
COMMENT next(), getTextXXX(), nextTag()
SPACE next(), getTextXXX(), nextTag()
START_DOCUMENT next(), getEncoding(), getVersion(), isStandalone(), standaloneSet(), getCharacterEncodingScheme(), nextTag()
END_DOCUMENT close()
PROCESSING_INSTRUCTION next(), getPITarget(), getPIData(), nextTag()
ENTITY_REFERENCE next(), getLocalName(), getText(), nextTag()
DTD next(), getText(), nextTag()
Начиная с:
1.6
См. также:
  • XMLEvent
  • XMLInputFactory
  • XMLStreamWriter

Краткое описание полей

Поля, объявленные в интерфейсе XMLStreamConstants

ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
Модификатор и тип Поле Описание
static final int ATTRIBUTE
Указывает, что событие является атрибутом
static final int CDATA
Указывает, что событие является секцией CDATA
static final int CHARACTERS
Указывает, что событие содержит символьные данные
static final int COMMENT
Указывает, что событие является комментарием
static final int DTD
Указывает, что событие является DTD
static final int END_DOCUMENT
Указывает, что событие является концом документа
static final int END_ELEMENT
Указывает, что событие является конечным элементом
static final int ENTITY_DECLARATION
Указывает на объявление сущности
static final int ENTITY_REFERENCE
Указывает, что событие является ссылкой на сущность
static final int NAMESPACE
Указывает, что событие является объявлением пространства имен
static final int NOTATION_DECLARATION
Указывает на нотацию
static final int PROCESSING_INSTRUCTION
Указывает, что событие является инструкцией обработки
static final int SPACE
Символьные данные являются пробельными символами (см. [XML], 2.10 «Обработка пробельных символов»).
static final int START_DOCUMENT
Указывает, что событие является началом документа
static final int START_ELEMENT
Указывает, что событие является начальным элементом

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Освобождает все ресурсы, связанные с этим средством чтения.
int getAttributeCount()
Возвращает количество атрибутов этого события START_ELEMENT. Этот метод допустим только для события START_ELEMENT или ATTRIBUTE.
String getAttributeLocalName(int index)
Возвращает локальное имя атрибута с указанным индексом
QName getAttributeName(int index)
Возвращает qname атрибута с указанным индексом
String getAttributeNamespace(int index)
Возвращает пространство имен атрибута с указанным индексом
String getAttributePrefix(int index)
Возвращает префикс атрибута с указанным индексом
String getAttributeType(int index)
Возвращает тип XML атрибута с указанным индексом
String getAttributeValue(int index)
Возвращает значение атрибута с указанным индексом
String getAttributeValue(String namespaceURI, String localName)
Возвращает нормализованное значение атрибута с указанными пространством имен и локальным именем. Если namespaceURI равно null, проверка на равенство пространств имен не выполняется
String getCharacterEncodingScheme()
Возвращает кодировку символов, указанную в объявлении xml. Если кодировка не указана, возвращает null
String getElementText()
Считывает содержимое элемента, содержащего только текст; если элемент содержит не только текст, выбрасывается исключение.
String getEncoding()
Возвращает кодировку входных данных, если она известна, или null, если неизвестна.
int getEventType()
Возвращает целочисленный код, указывающий тип события, на которое указывает курсор.
String getLocalName()
Возвращает (локальное) имя текущего события.
Location getLocation()
Возвращает текущее местоположение процессора.
QName getName()
Возвращает QName для текущего события START_ELEMENT или END_ELEMENT
NamespaceContext getNamespaceContext()
Возвращает доступный только для чтения контекст пространств имен для текущей позиции.
int getNamespaceCount()
Возвращает количество пространств имен, объявленных в этом событии START_ELEMENT или END_ELEMENT. Этот метод допустим только для событий START_ELEMENT, END_ELEMENT или NAMESPACE.
String getNamespacePrefix(int index)
Возвращает префикс пространства имен, объявленного по указанному индексу.
String getNamespaceURI()
Если текущее событие — START_ELEMENT или END_ELEMENT, этот метод возвращает URI префикса или пространства имен по умолчанию.
String getNamespaceURI(int index)
Возвращает URI пространства имен, объявленного по указанному индексу.
String getNamespaceURI(String prefix)
Возвращает URI для указанного префикса.
String getPIData()
Возвращает данные инструкции обработки
String getPITarget()
Возвращает цель инструкции обработки
String getPrefix()
Возвращает префикс текущего события или null, если у события нет префикса
Object getProperty(String name)
Получает значение функции или свойства из базовой реализации
String getText()
Возвращает текущее значение события разбора в виде строки: строковое значение события CHARACTERS, значение COMMENT, подставляемое значение ENTITY_REFERENCE, строковое значение секции CDATA или события SPACE либо строковое значение внутреннего подмножества DTD.
char[] getTextCharacters()
Возвращает массив, содержащий символы этого события.
int getTextCharacters(int sourceStart, char[] target, int targetStart, int length)
Возвращает текст, связанный с событием CHARACTERS, SPACE или CDATA.
int getTextLength()
Возвращает длину последовательности символов этого текстового события в массиве текстовых символов.
int getTextStart()
Возвращает смещение в массиве текстовых символов, по которому хранится первый символ (этого текстового события).
String getVersion()
Возвращает версию xml, указанную в объявлении xml. Если версия не указана, возвращает null
boolean hasName()
Возвращает логическое значение, указывающее, имеет ли текущее событие имя (является ли оно START_ELEMENT или END_ELEMENT).
boolean hasNext()
Возвращает true, если остались события разбора, и false, если событий больше нет.
boolean hasText()
Возвращает логическое значение, указывающее, содержит ли текущее событие текст.
boolean isAttributeSpecified(int index)
Возвращает логическое значение, указывающее, был ли этот атрибут создан по умолчанию
boolean isCharacters()
Возвращает true, если курсор указывает на событие символьных данных
boolean isEndElement()
Возвращает true, если курсор указывает на конечный тег (иначе — false)
boolean isStandalone()
Возвращает объявление автономности из объявления xml
boolean isStartElement()
Возвращает true, если курсор указывает на начальный тег (иначе — false)
boolean isWhiteSpace()
Возвращает true, если курсор указывает на событие символьных данных, состоящее только из пробельных символов
int next()
Получает следующее событие разбора — процессор может вернуть все смежные символьные данные одним фрагментом или разделить их на несколько фрагментов.
int nextTag()
Пропускает пробельные символы (isWhiteSpace() возвращает true), COMMENT или PROCESSING_INSTRUCTION до тех пор, пока не будет достигнут START_ELEMENT или END_ELEMENT.
void require(int type, String namespaceURI, String localName)
Проверяет, соответствует ли текущее событие указанному типу и совпадают ли пространство имен и имя с пространством имен и именем текущего события.
boolean standaloneSet()
Проверяет, задано ли в документе объявление автономности

Подробное описание методов

getProperty

Object getProperty(String name) throws IllegalArgumentException
Получает значение функции/свойства базовой реализации
Параметры:
name — имя свойства; не может быть null
Возвращает:
значение свойства
Вызывает исключение:
IllegalArgumentException — если name равно null

next

int next() throws XMLStreamException
Получает следующее событие разбора. Процессор может возвращать все смежные символьные данные одним фрагментом или разделять их на несколько фрагментов. Если свойство javax.xml.stream.isCoalescing имеет значение true, содержимое элементов должно объединяться, и для смежного содержимого элементов или секций CDATA должно возвращаться только одно событие CHARACTERS. По умолчанию ссылки на сущности должны раскрываться и прозрачно передаваться приложению. Если ссылку на сущность невозможно раскрыть, будет выброшено исключение. Если содержимое элемента пусто (т. е. содержимое равно ""), событие CHARACTERS возвращаться не будет.

Для следующего XML:
<foo><!--description-->content text<![CDATA[<greeting>Hello>/greeting>]]>other content>/foo>
При вызове next(), когда текущая позиция находится на foo, поведение будет следующим:
1 — комментарий (COMMENT)
2 — затем секция символьных данных (CHARACTERS)
3 — затем секция CDATA (еще одно CHARACTERS)
4 — затем следующая секция символьных данных (еще одно CHARACTERS)
5 — затем END_ELEMENT

ПРИМЕЧАНИЕ: пустой элемент (например, <tag/>) будет представлен двумя отдельными событиями: START_ELEMENT, END_ELEMENT. Это сохраняет эквивалентность разбора пустого элемента и <tag></tag>.

Возвращает:
целочисленный код, соответствующий текущему событию разбора
Вызывает исключение:
NoSuchElementException — если этот метод вызван, когда hasNext() возвращает false
XMLStreamException — если при обработке базового источника XML произошла ошибка
См. также:
  • XMLEvent

require

void require(int type, String namespaceURI, String localName) throws XMLStreamException
Проверяет, соответствует ли текущее событие заданному типу, а также совпадают ли пространство имен и имя с пространством имен и именем текущего события. Если namespaceURI равно null, его равенство не проверяется; если localName равно null, его равенство не проверяется.
Параметры:
type — тип события
namespaceURI — URI события; может быть null
localName — локальное имя события; может быть null
Вызывает исключение:
XMLStreamException — если требуемые значения не совпадают.

getElementText

String getElementText() throws XMLStreamException
Читает содержимое текстового элемента; если элемент не является текстовым, выбрасывается исключение. Независимо от значения javax.xml.stream.isCoalescing этот метод всегда возвращает объединенное содержимое.
Предусловие: текущее событие — START_ELEMENT.
Постусловие: текущее событие — соответствующий END_ELEMENT.
Метод выполняет следующие действия (реализации могут оптимизировать обработку, но должны выполнять эквивалентные действия):
if(getEventType() != XMLStreamConstants.START_ELEMENT) {
    throw new XMLStreamException(
    "parser must be on START_ELEMENT to read next text", getLocation());
}

int eventType = next();
StringBuffer content = new StringBuffer();
while(eventType != XMLStreamConstants.END_ELEMENT) {
    if(eventType == XMLStreamConstants.CHARACTERS
       || eventType == XMLStreamConstants.CDATA
       || eventType == XMLStreamConstants.SPACE
       || eventType == XMLStreamConstants.ENTITY_REFERENCE) {
          buf.append(getText());
    } else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
              || eventType == XMLStreamConstants.COMMENT) {
        // skipping
    } else if(eventType == XMLStreamConstants.END_DOCUMENT) {
        throw new XMLStreamException(
        "unexpected end of document when reading element text content", this);
    } else if(eventType == XMLStreamConstants.START_ELEMENT) {
        throw new XMLStreamException(
        "element text content may not contain START_ELEMENT", getLocation());
    } else {
        throw new XMLStreamException(
        "Unexpected event type "+eventType, getLocation());
    }
    eventType = next();
}
return buf.toString();
Возвращает:
содержимое текстового элемента
Вызывает исключение:
XMLStreamException — если текущее событие не является START_ELEMENT или обнаружен нетекстовый элемент

nextTag

int nextTag() throws XMLStreamException
Пропускает любые пробельные символы (isWhiteSpace() возвращает true), COMMENT или PROCESSING_INSTRUCTION, пока не будет достигнут START_ELEMENT или END_ELEMENT. Если встречаются символы, отличные от пробельных, COMMENT, PROCESSING_INSTRUCTION, START_ELEMENT или END_ELEMENT, выбрасывается исключение. Этот метод следует использовать при обработке содержимого, состоящего только из элементов, разделенных пробельными символами.
Предусловие: отсутствует
Постусловие: текущее событие — START_ELEMENT или END_ELEMENT; курсор мог пройти через любые события с пробельными символами.
По существу, метод выполняет следующие действия (реализации могут оптимизировать обработку, но должны выполнять эквивалентные действия):
int eventType = next();
while((eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace()) // skip whitespace
|| (eventType == XMLStreamConstants.CDATA && isWhiteSpace())
// skip whitespace
|| eventType == XMLStreamConstants.SPACE
|| eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
|| eventType == XMLStreamConstants.COMMENT
) {
    eventType = next();
}
if (eventType != XMLStreamConstants.START_ELEMENT && eventType != XMLStreamConstants.END_ELEMENT) {
    throw new String XMLStreamException("expected start or end tag", getLocation());
}
return eventType; 
Возвращает:
тип события прочитанного элемента (START_ELEMENT или END_ELEMENT)
Вызывает исключение:
XMLStreamException — если текущее событие не является пробельными символами, PROCESSING_INSTRUCTION, START_ELEMENT или END_ELEMENT
NoSuchElementException — если этот метод вызван, когда hasNext() возвращает false

hasNext

boolean hasNext() throws XMLStreamException
Возвращает true, если остались события разбора, и false, если событий больше нет. Этот метод вернет false, если текущее состояние XMLStreamReader — END_DOCUMENT
Возвращает:
true, если остались события; в противном случае false
Вызывает исключение:
XMLStreamException — если при обнаружении следующего состояния произошла неустранимая ошибка

close

void close() throws XMLStreamException
Освобождает все ресурсы, связанные с этим Reader. Этот метод не закрывает базовый источник ввода.
Вызывает исключение:
XMLStreamException — если при освобождении связанных ресурсов произошли ошибки

getNamespaceURI

String getNamespaceURI(String prefix)
Возвращает URI для заданного префикса. Возвращаемый URI зависит от текущего состояния процессора.

ПРИМЕЧАНИЕ: Префикс 'xml' привязан, как определено в спецификации Пространства имен в XML, к "http://www.w3.org/XML/1998/namespace".

ПРИМЕЧАНИЕ: Префикс 'xmlns' должен разрешаться в следующее пространство имен: http://www.w3.org/2000/xmlns/

Параметры:
prefix — префикс для поиска; не может быть null
Возвращает:
URI, связанный с заданным префиксом, или null, если он не связан ни с каким URI
Вызывает исключение:
IllegalArgumentException — если префикс равен null

isStartElement

boolean isStartElement()
Возвращает true, если курсор указывает на начальный тег (в противном случае — false)
Возвращает:
true, если курсор указывает на начальный тег; в противном случае false

isEndElement

boolean isEndElement()
Возвращает true, если курсор указывает на конечный тег (в противном случае — false)
Возвращает:
true, если курсор указывает на конечный тег; в противном случае false

isCharacters

boolean isCharacters()
Возвращает true, если курсор указывает на событие символьных данных
Возвращает:
true, если курсор указывает на символьные данные; в противном случае false

isWhiteSpace

boolean isWhiteSpace()
Возвращает true, если курсор указывает на событие символьных данных, состоящих только из пробельных символов
Возвращает:
true, если курсор указывает только на пробельные символы; в противном случае false

getAttributeValue

String getAttributeValue(String namespaceURI, String localName)
Возвращает нормализованное значение атрибута с заданными пространством имен и localName. Если namespaceURI равно null, равенство пространства имен не проверяется
Параметры:
namespaceURI — пространство имен атрибута
localName — локальное имя атрибута; не может быть null
Возвращает:
значение атрибута или null, если атрибут не найден
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getAttributeCount

int getAttributeCount()
Возвращает количество атрибутов этого START_ELEMENT. Этот метод допустимо вызывать только для START_ELEMENT или ATTRIBUTE. Это количество не включает объявления пространств имен. Индексы атрибутов начинаются с нуля.
Возвращает:
количество атрибутов
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getAttributeName

QName getAttributeName(int index)
Возвращает qname атрибута с указанным индексом
Параметры:
index — позиция атрибута
Возвращает:
QName атрибута
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getAttributeNamespace

String getAttributeNamespace(int index)
Возвращает пространство имен атрибута с указанным индексом
Параметры:
index — позиция атрибута
Возвращает:
URI пространства имен (может быть null)
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getAttributeLocalName

String getAttributeLocalName(int index)
Возвращает localName атрибута с указанным индексом
Параметры:
index — позиция атрибута
Возвращает:
localName атрибута
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getAttributePrefix

String getAttributePrefix(int index)
Возвращает префикс атрибута с указанным индексом
Параметры:
index — позиция атрибута
Возвращает:
префикс атрибута
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getAttributeType

String getAttributeType(int index)
Возвращает тип XML атрибута с указанным индексом
Параметры:
index — позиция атрибута
Возвращает:
тип XML атрибута
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getAttributeValue

String getAttributeValue(int index)
Возвращает значение атрибута с указанным индексом
Параметры:
index — позиция атрибута
Возвращает:
значение атрибута
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

isAttributeSpecified

boolean isAttributeSpecified(int index)
Возвращает логическое значение, указывающее, был ли этот атрибут создан по умолчанию
Параметры:
index — позиция атрибута
Возвращает:
true, если это атрибут, заданный по умолчанию
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или ATTRIBUTE

getNamespaceCount

int getNamespaceCount()
Возвращает количество пространств имен, объявленных в этом START_ELEMENT или END_ELEMENT. Этот метод допустимо вызывать только для START_ELEMENT, END_ELEMENT или NAMESPACE. Для END_ELEMENT учитываются пространства имен, область действия которых вскоре завершится. Это эквивалентно информации, передаваемой обратным вызовом SAX для события конечного элемента.
Возвращает:
количество объявлений пространств имен для данного элемента
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT, END_ELEMENT или NAMESPACE

getNamespacePrefix

String getNamespacePrefix(int index)
Возвращает префикс пространства имен, объявленного по указанному индексу. Возвращает null, если это объявление пространства имен по умолчанию
Параметры:
index — позиция объявления пространства имен
Возвращает:
префикс пространства имен
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT, END_ELEMENT или NAMESPACE

getNamespaceURI

String getNamespaceURI(int index)
Возвращает URI пространства имен, объявленного по указанному индексу.
Параметры:
index — позиция объявления пространства имен
Возвращает:
URI пространства имен
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT, END_ELEMENT или NAMESPACE

getNamespaceContext

NamespaceContext getNamespaceContext()
Возвращает доступный только для чтения контекст пространств имен для текущей позиции. Контекст является временным и действителен только до вызова next(), изменяющего состояние считывателя.
Возвращает:
контекст пространств имен

getEventType

int getEventType()
Возвращает целочисленный код, указывающий тип события, на которое указывает курсор. Начальный тип события — XMLStreamConstants.START_DOCUMENT.
Возвращает:
тип текущего события

getText

String getText()
Возвращает текущее значение события разбора в виде строки: строковое значение события CHARACTERS, значение COMMENT, подставляемое значение для ENTITY_REFERENCE, строковое значение секции CDATA, строковое значение события SPACE или строковое значение внутреннего подмножества DTD. Если ENTITY_REFERENCE был разрешен, любые символьные данные будут переданы как события CHARACTERS.
Возвращает:
текущий текст или null
Вызывает исключение:
IllegalStateException — если текущее состояние не является допустимым текстовым состоянием.

getTextCharacters

char[] getTextCharacters()
Возвращает массив, содержащий символы этого события. Этот массив следует считать доступным только для чтения и временным. То есть массив будет содержать символы текста, пока XMLStreamReader не перейдет к следующему событию. Попытки сохранить массив символов после этого момента или изменить его содержимое нарушают условия использования этого интерфейса.
Возвращает:
текущий текст или пустой массив
Вызывает исключение:
IllegalStateException — если текущее состояние не является допустимым текстовым состоянием.

getTextCharacters

int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException
Получает текст, связанный с событием CHARACTERS, SPACE или CDATA. Текст, начиная с позиции "sourceStart", копируется в "target", начиная с позиции "targetStart". Копируется не более "length" символов. Возвращается фактическое количество скопированных символов. Аргумент "sourceStart" должен быть больше или равен 0 и меньше или равен количеству символов, связанных с событием. Обычно текст запрашивают начиная с "sourceStart", равного 0. Если фактическое количество скопированных символов меньше "length", значит, больше текста нет. В противном случае необходимо выполнять последующие вызовы, пока не будет получен весь текст. Например:
int length = 1024;
char[] myBuffer = new char[ length ];

for ( int sourceStart = 0 ; ; sourceStart += length )
{
   int nCopied = stream.getTextCharacters( sourceStart, myBuffer, 0, length );

  if (nCopied < length)
      break;
}
 
XMLStreamException может быть выброшено при наличии ошибок XML в базовом источнике. Аргумент "targetStart" должен быть больше или равен 0 и меньше длины "target"; значение length должно быть больше 0, а "targetStart + length" должно быть меньше или равно длине "target".
Параметры:
sourceStart — индекс первого символа в исходном массиве для копирования
target — массив назначения
targetStart — начальное смещение в целевом массиве
length — количество символов для копирования
Возвращает:
фактическое количество скопированных символов
Вызывает исключение:
XMLStreamException — если базовый источник XML не является корректно сформированным
IndexOutOfBoundsException — если targetStart < 0 или > длины target
IndexOutOfBoundsException — если length < 0 или targetStart + length > длины target
UnsupportedOperationException — если этот метод не поддерживается
NullPointerException — если target равно null

getTextStart

int getTextStart()
Возвращает смещение в массиве текстовых символов, по которому хранится первый символ (этого текстового события).
Возвращает:
начальную позицию текста в массиве символов
Вызывает исключение:
IllegalStateException — если текущее состояние не является допустимым текстовым состоянием.

getTextLength

int getTextLength()
Возвращает длину последовательности символов этого события Text в массиве текстовых символов.
Возвращает:
длина текста
Вызывает исключение:
IllegalStateException — если текущее состояние не является допустимым текстовым состоянием.

getEncoding

String getEncoding()
Возвращает кодировку входных данных, если она известна, или null, если неизвестна.
Возвращает:
кодировка этого экземпляра или null

hasText

boolean hasText()
Возвращает логическое значение, указывающее, содержит ли текущее событие текст. Текст содержат следующие события: CHARACTERS, DTD, ENTITY_REFERENCE, COMMENT, SPACE
Возвращает:
true, если событие содержит текст; в противном случае false

getLocation

Location getLocation()
Возвращает текущее местоположение процессора. Если местоположение неизвестно, процессор должен вернуть реализацию Location, которая возвращает -1 для местоположения и null для publicId и systemId. Информация о местоположении действительна только до вызова next().
Возвращает:
местоположение курсора

getName

QName getName()
Возвращает QName для текущего события START_ELEMENT или END_ELEMENT
Возвращает:
QName для текущего события START_ELEMENT или END_ELEMENT
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT или END_ELEMENT

getLocalName

String getLocalName()
Возвращает (локальное) имя текущего события. Для START_ELEMENT или END_ELEMENT возвращает (локальное) имя текущего элемента. Для ENTITY_REFERENCE возвращает имя сущности. Текущим событием должно быть START_ELEMENT, END_ELEMENT или ENTITY_REFERENCE
Возвращает:
localName
Вызывает исключение:
IllegalStateException — если текущее событие не является START_ELEMENT, END_ELEMENT или ENTITY_REFERENCE

hasName

boolean hasName()
Возвращает логическое значение, указывающее, имеет ли текущее событие имя (является ли оно START_ELEMENT или END_ELEMENT).
Возвращает:
true, если событие имеет имя; в противном случае false

getNamespaceURI

String getNamespaceURI()
Если текущее событие — START_ELEMENT или END_ELEMENT, этот метод возвращает URI префикса или пространства имен по умолчанию. Возвращает null, если у события нет префикса.
Возвращает:
URI, связанный с префиксом этого элемента, пространство имен по умолчанию или null

getPrefix

String getPrefix()
Возвращает префикс текущего события или null, если у события нет префикса
Возвращает:
префикс или null

getVersion

String getVersion()
Получает версию XML, объявленную в объявлении XML. Возвращает null, если версия не объявлена
Возвращает:
версия XML или null

isStandalone

boolean isStandalone()
Получает объявление standalone из объявления XML
Возвращает:
true, если документ является автономным; в противном случае false

standaloneSet

boolean standaloneSet()
Проверяет, задано ли в документе значение standalone
Возвращает:
true, если в документе задано значение standalone; в противном случае false

getCharacterEncodingScheme

String getCharacterEncodingScheme()
Возвращает кодировку символов, объявленную в объявлении XML. Возвращает null, если кодировка не объявлена
Возвращает:
кодировка, объявленная в документе, или null

getPITarget

String getPITarget()
Получает цель инструкции обработки
Возвращает:
цель или null

getPIData

String getPIData()
Получает секцию данных инструкции обработки
Возвращает:
данные или null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API