Интерфейс 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
Поля
Поля, объявленные в интерфейсе javax.xml.stream.XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | close() | Освобождает все ресурсы, связанные с этим объектом Reader. |
int | getAttributeCount() | Возвращает количество атрибутов в этом элементе START_ELEMENT, этот метод действителен только для START_ELEMENT или ATTRIBUTE. |
String | getAttributeLocalName(int index) | Возвращает localName атрибута по указанному индексу. |
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- если имя равно 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>. Этот метод выбросит исключение IllegalStateException, если он вызывается после того, как hasNext() вернет false.
- Возвращает:
- целое число, соответствующее текущему событию разбора
- Исключения:
-
NoSuchElementException- если это вызов, когда hasNext() возвращает false -
XMLStreamException- если при обработке базового источника XML произошла ошибка - См. также:
XMLEvent
require
void require(int type,
String namespaceURI,
String localName)
throws XMLStreamException Проверяет, соответствует ли текущее событие заданному типу, и совпадают ли пространство имен и имя с текущим пространством имен и именем текущего события. Если namespaceURI равно null, оно не проверяется на равенство; если localName равно null, оно не проверяется на равенство.
- Параметры:
-
type- тип события -
namespaceURI- пространство имен события, может быть 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 Освобождает ресурсы, связанные с этим ридером. Этот метод не закрывает базовый источник ввода.
- Исключения:
-
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, если он не связан
- Исключения:
-
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) Возвращает нормализованное значение атрибута с указанным пространством имен и локальным именем. Если 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)
Возвращает локальное имя атрибута в указанном индексе
- Параметры:
-
index- позиция атрибута - Возвращает:
- локальное имя атрибута
- Исключения:
-
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». Длина должна быть больше 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()
Возвращает длину последовательности символов для этого события текста в массиве символов текста.
- Возвращает:
- длина текста
- Исключения:
-
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.
- Возвращает:
- локальное имя
- Исключения:
-
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()
Получает объявленный в декларации XML флаг standalone.
- Возвращает:
- true, если standalone, или false в противном случае
standaloneSet
boolean standaloneSet()
Проверяет, был ли установлен флаг standalone в документе.
- Возвращает:
- true, если standalone был установлен в документе, или false в противном случае
getCharacterEncodingScheme
String getCharacterEncodingScheme()
Возвращает кодировку символов, объявленную в декларации XML. Возвращает null, если она не была объявлена.
- Возвращает:
- кодировка, объявленная в документе, или null
getPITarget
String getPITarget()
Получает целевой элемент инструкции обработки.
- Возвращает:
- целевой элемент или null
getPIData
String getPIData()
Получает раздел данных инструкции обработки.
- Возвращает:
- данные или 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/XMLStreamReader.html