Класс StreamReaderDelegate
- Все реализуемые интерфейсы:
XMLStreamConstants, XMLStreamReader
public class StreamReaderDelegate extends Object implements XMLStreamReader
- Начиная с версии:
- 1.6
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StreamReaderDelegate() |
Создает пустой фильтр без родительского объекта. |
StreamReaderDelegate |
Создает фильтр с указанным родительским объектом. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Освобождает все ресурсы, связанные с этим Reader. |
int |
getAttributeCount() |
Возвращает количество атрибутов этого START_ELEMENT; этот метод допустимо вызывать только для START_ELEMENT или ATTRIBUTE. |
String |
getAttributeLocalName |
Возвращает локальное имя атрибута с указанным индексом. |
QName |
getAttributeName |
Возвращает qname атрибута с указанным индексом. |
String |
getAttributeNamespace |
Возвращает пространство имен атрибута с указанным индексом. |
String |
getAttributePrefix |
Возвращает префикс этого атрибута с указанным индексом. |
String |
getAttributeType |
Возвращает тип XML атрибута с указанным индексом. |
String |
getAttributeValue |
Возвращает значение атрибута с указанным индексом. |
String |
getAttributeValue |
Возвращает нормализованное значение атрибута с указанными пространством имен и локальным именем. Если 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 |
Возвращает префикс пространства имен, объявленного по указанному индексу. |
String |
getNamespaceURI() |
Если текущее событие — START_ELEMENT или END_ELEMENT, этот метод возвращает URI префикса или пространства имен по умолчанию. |
String |
getNamespaceURI |
Возвращает URI пространства имен, объявленного по указанному индексу. |
String |
getNamespaceURI |
Возвращает URI для указанного префикса. |
XMLStreamReader |
getParent() |
Возвращает родительский объект этого экземпляра. |
String |
getPIData() |
Возвращает секцию данных инструкции обработки. |
String |
getPITarget() |
Возвращает цель инструкции обработки. |
String |
getPrefix() |
Возвращает префикс текущего события или null, если у события нет префикса. |
Object |
getProperty |
Возвращает значение компонента или свойства из базовой реализации. |
String |
getText() |
Возвращает текущее значение события разбора в виде строки: строковое значение события CHARACTERS, значение COMMENT, замещающее значение для ENTITY_REFERENCE, строковое значение секции CDATA, строковое значение события SPACE или строковое значение внутреннего подмножества DTD. |
char[] |
getTextCharacters() |
Возвращает массив, содержащий символы этого события. |
int |
getTextCharacters |
Возвращает текст, связанный с событием 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 |
Возвращает логическое значение, указывающее, был ли этот атрибут создан по умолчанию. |
boolean |
isCharacters() |
Возвращает true, если курсор указывает на событие символьных данных. |
boolean |
isEndElement() |
Возвращает true, если курсор указывает на закрывающий тег (в противном случае — false). |
boolean |
isStandalone() |
Возвращает объявление standalone из объявления XML. |
boolean |
isStartElement() |
Возвращает true, если курсор указывает на открывающий тег (в противном случае — false). |
boolean |
isWhiteSpace() |
Возвращает true, если курсор указывает на событие символьных данных, состоящее только из пробельных символов. |
int |
next() |
Возвращает следующее событие разбора — обработчик может вернуть все смежные символьные данные одним фрагментом или разделить их на несколько фрагментов. |
int |
nextTag() |
Пропускает все пробельные символы (isWhiteSpace() возвращает true), события COMMENT и PROCESSING_INSTRUCTION, пока не встретится START_ELEMENT или END_ELEMENT. |
void |
require |
Проверяет, соответствует ли текущее событие указанному типу и совпадают ли пространство имен и имя с пространством имен и именем текущего события. |
void |
setParent |
Устанавливает родительский объект этого экземпляра. |
boolean |
standaloneSet() |
Проверяет, было ли в документе задано значение standalone. |
Подробное описание конструкторов
StreamReaderDelegate
public StreamReaderDelegate()
StreamReaderDelegate
public StreamReaderDelegate(XMLStreamReader reader)
- Параметры:
-
reader— родительский элемент
Подробное описание методов
setParent
public void setParent(XMLStreamReader reader)
- Параметры:
-
reader— новый родительский элемент
getParent
public XMLStreamReader getParent()
- Возвращает:
- родительский элемент или null, если он не задан
next
public int next() throws XMLStreamException
XMLStreamReaderДан следующий 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>.
- Определено в:
-
nextв интерфейсеXMLStreamReader - Возвращает:
- целочисленный код, соответствующий текущему событию разбора
- Вызывает:
-
XMLStreamException— если при обработке базового источника XML произошла ошибка - См. также:
nextTag
public int nextTag() throws XMLStreamException
XMLStreamReaderПредусловие: отсутствует
Постусловие: текущее событие — 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;
- Определено в:
-
nextTagв интерфейсеXMLStreamReader - Возвращает:
- тип события прочитанного элемента (START_ELEMENT или END_ELEMENT)
- Вызывает:
-
XMLStreamException— если текущее событие не является пробельным символом, PROCESSING_INSTRUCTION, START_ELEMENT или END_ELEMENT
getElementText
public String getElementText() throws XMLStreamException
XMLStreamReaderПредусловие: текущее событие — 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();
- Определено в:
-
getElementTextв интерфейсеXMLStreamReader - Возвращает:
- содержимое элемента, содержащего только текст
- Вызывает:
-
XMLStreamException— если текущее событие не является START_ELEMENT или встречен нетекстовый элемент
require
public void require(int type, String namespaceURI, String localName) throws XMLStreamException
XMLStreamReader- Определено в:
-
requireв интерфейсеXMLStreamReader - Параметры:
-
type— тип события -
namespaceURI— URI события, может быть null -
localName— localName события, может быть null - Вызывает:
-
XMLStreamException— если требуемые значения не совпадают.
hasNext
public boolean hasNext() throws XMLStreamException
XMLStreamReader- Определено в:
-
hasNextв интерфейсеXMLStreamReader - Возвращает:
- true, если остались события, иначе false
- Вызывает:
-
XMLStreamException— если при определении следующего состояния произошла критическая ошибка
close
public void close() throws XMLStreamException
XMLStreamReader- Определено в:
-
closeв интерфейсеXMLStreamReader - Вызывает:
-
XMLStreamException— если при освобождении связанных ресурсов произошли ошибки
getNamespaceURI
public String getNamespaceURI(String prefix)
XMLStreamReaderПРИМЕЧАНИЕ: префикс 'xml' привязан в соответствии со спецификацией Пространства имен в XML к "http://www.w3.org/XML/1998/namespace".
ПРИМЕЧАНИЕ: префикс 'xmlns' должен разрешаться в следующее пространство имен: http://www.w3.org/2000/xmlns/
- Определено в:
-
getNamespaceURIв интерфейсеXMLStreamReader - Параметры:
-
prefix— префикс для поиска; не может быть null - Возвращает:
- URI, привязанный к указанному префиксу, или null, если он не привязан
getNamespaceContext
public NamespaceContext getNamespaceContext()
XMLStreamReader- Определено в:
-
getNamespaceContextв интерфейсеXMLStreamReader - Возвращает:
- контекст пространства имен
isStartElement
public boolean isStartElement()
XMLStreamReader- Определено в:
-
isStartElementв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает на открывающий тег, иначе false
isEndElement
public boolean isEndElement()
XMLStreamReader- Определено в:
-
isEndElementв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает на закрывающий тег, иначе false
isCharacters
public boolean isCharacters()
XMLStreamReader- Определено в:
-
isCharactersв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает на символьные данные, иначе false
isWhiteSpace
public boolean isWhiteSpace()
XMLStreamReader- Определено в:
-
isWhiteSpaceв интерфейсеXMLStreamReader - Возвращает:
- true, если курсор указывает только на пробельные символы, иначе false
getAttributeValue
public String getAttributeValue(String namespaceUri, String localName)
XMLStreamReader- Определено в:
-
getAttributeValueв интерфейсеXMLStreamReader - Параметры:
-
namespaceUri— пространство имен атрибута -
localName— локальное имя атрибута; не может быть null - Возвращает:
- значение атрибута или null, если атрибут не найден
getAttributeCount
public int getAttributeCount()
XMLStreamReader- Определено в:
-
getAttributeCountв интерфейсеXMLStreamReader - Возвращает:
- количество атрибутов
getAttributeName
public QName getAttributeName(int index)
XMLStreamReader- Определено в:
-
getAttributeNameв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- QName атрибута
getAttributePrefix
public String getAttributePrefix(int index)
XMLStreamReader- Определено в:
-
getAttributePrefixв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- префикс атрибута
getAttributeNamespace
public String getAttributeNamespace(int index)
XMLStreamReader- Определено в:
-
getAttributeNamespaceв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- URI пространства имен (может быть null)
getAttributeLocalName
public String getAttributeLocalName(int index)
XMLStreamReader- Определено в:
-
getAttributeLocalNameв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- localName атрибута
getAttributeType
public String getAttributeType(int index)
XMLStreamReader- Определено в:
-
getAttributeTypeв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- тип XML атрибута
getAttributeValue
public String getAttributeValue(int index)
XMLStreamReader- Определено в:
-
getAttributeValueв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- значение атрибута
isAttributeSpecified
public boolean isAttributeSpecified(int index)
XMLStreamReader- Определено в:
-
isAttributeSpecifiedв интерфейсеXMLStreamReader - Параметры:
-
index— позиция атрибута - Возвращает:
- true, если это атрибут по умолчанию
getNamespaceCount
public int getNamespaceCount()
XMLStreamReader- Определено в:
-
getNamespaceCountв интерфейсеXMLStreamReader - Возвращает:
- количество объявлений пространств имен для этого элемента
getNamespacePrefix
public String getNamespacePrefix(int index)
XMLStreamReader- Определено в:
-
getNamespacePrefixв интерфейсеXMLStreamReader - Параметры:
-
index— позиция объявления пространства имен - Возвращает:
- префикс пространства имен
getNamespaceURI
public String getNamespaceURI(int index)
XMLStreamReader- Определено в:
-
getNamespaceURIв интерфейсеXMLStreamReader - Параметры:
-
index— позиция объявления пространства имен - Возвращает:
- URI пространства имен
getEventType
public int getEventType()
XMLStreamReaderXMLStreamConstants.START_DOCUMENT.- Определено в:
-
getEventTypeв интерфейсеXMLStreamReader - Возвращает:
- тип текущего события
getText
public String getText()
XMLStreamReader- Определено в:
-
getTextв интерфейсеXMLStreamReader - Возвращает:
- текущий текст или null
getTextCharacters
public int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException
XMLStreamReaderint 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".- Определено в:
-
getTextCharactersв интерфейсеXMLStreamReader - Параметры:
-
sourceStart— индекс первого символа для копирования в исходном массиве -
target— целевой массив -
targetStart— начальное смещение в целевом массиве -
length— количество символов для копирования - Возвращает:
- фактическое количество скопированных символов
- Вызывает:
-
XMLStreamException— если базовый источник XML не является корректно сформированным
getTextCharacters
public char[] getTextCharacters()
XMLStreamReader- Определено в:
-
getTextCharactersв интерфейсеXMLStreamReader - Возвращает:
- текущий текст или пустой массив
getTextStart
public int getTextStart()
XMLStreamReader- Определено в:
-
getTextStartв интерфейсеXMLStreamReader - Возвращает:
- начальную позицию текста в массиве символов
getTextLength
public int getTextLength()
XMLStreamReader- Определено в:
-
getTextLengthв интерфейсеXMLStreamReader - Возвращает:
- длину текста
getEncoding
public String getEncoding()
XMLStreamReader- Определено в:
-
getEncodingв интерфейсеXMLStreamReader - Возвращает:
- кодировку этого экземпляра или null
hasText
public boolean hasText()
XMLStreamReader- Определено в:
-
hasTextв интерфейсеXMLStreamReader - Возвращает:
- true, если событие содержит текст, иначе false
getLocation
public Location getLocation()
XMLStreamReader- Определено в:
-
getLocationв интерфейсеXMLStreamReader - Возвращает:
- местоположение курсора
getName
public QName getName()
XMLStreamReader- Определено в:
-
getNameв интерфейсеXMLStreamReader - Возвращает:
- QName для текущего события START_ELEMENT или END_ELEMENT
getLocalName
public String getLocalName()
XMLStreamReader- Определено в:
-
getLocalNameв интерфейсеXMLStreamReader - Возвращает:
- localName
hasName
public boolean hasName()
XMLStreamReader- Определено в:
-
hasNameв интерфейсеXMLStreamReader - Возвращает:
- true, если событие имеет имя, иначе false
getNamespaceURI
public String getNamespaceURI()
XMLStreamReader- Определено в:
-
getNamespaceURIв интерфейсеXMLStreamReader - Возвращает:
- URI, связанный с префиксом этого элемента, пространство имен по умолчанию или null
getPrefix
public String getPrefix()
XMLStreamReader- Определено в:
-
getPrefixв интерфейсеXMLStreamReader - Возвращает:
- префикс или null
getVersion
public String getVersion()
XMLStreamReader- Определено в:
-
getVersionв интерфейсеXMLStreamReader - Возвращает:
- версию XML или null
isStandalone
public boolean isStandalone()
XMLStreamReader- Определено в:
-
isStandaloneв интерфейсеXMLStreamReader - Возвращает:
- true, если документ standalone, иначе false
standaloneSet
public boolean standaloneSet()
XMLStreamReader- Определено в:
-
standaloneSetв интерфейсеXMLStreamReader - Возвращает:
- true, если значение standalone было задано в документе, иначе false
getCharacterEncodingScheme
public String getCharacterEncodingScheme()
XMLStreamReader- Определено в:
-
getCharacterEncodingSchemeв интерфейсеXMLStreamReader - Возвращает:
- кодировку, объявленную в документе, или null
getPITarget
public String getPITarget()
XMLStreamReader- Определено в:
-
getPITargetв интерфейсеXMLStreamReader - Возвращает:
- целевой объект или null
getPIData
public String getPIData()
XMLStreamReader- Определено в:
-
getPIDataв интерфейсеXMLStreamReader - Возвращает:
- данные или null
getProperty
public Object getProperty(String name)
XMLStreamReader- Определено в:
-
getPropertyв интерфейсеXMLStreamReader - Параметры:
-
name- Имя свойства; не может быть null - Возвращает:
- Значение свойства
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/javax/xml/stream/util/StreamReaderDelegate.html