Класс StreamReaderDelegate
- Все реализуемые интерфейсы:
-
XMLStreamConstants,XMLStreamReader
public class StreamReaderDelegate extends Object implements XMLStreamReader
- С:
- 1.6
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StreamReaderDelegate() |
Создает пустой фильтр без родителя. |
StreamReaderDelegate |
Создает фильтр с указанным родителем. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Освобождает все ресурсы, связанные с этим читателем. |
int |
getAttributeCount() |
Возвращает количество атрибутов в этом элементе START_ELEMENT. Этот метод действителен только для START_ELEMENT или ATTRIBUTE. |
String |
getAttributeLocalName |
Возвращает localName атрибута по указанному индексу. |
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() |
Возвращает длину последовательности символов для этого события Text в массиве символов текста. |
int |
getTextStart() |
Возвращает смещение в массиве символов текста, где хранится первый символ (этого события текста). |
String |
getVersion() |
Получает версию XML, объявленную в декларации XML. Возвращает null, если она не была объявлена. |
boolean |
hasName() |
возвращает булево значение, указывающее, имеет ли текущее событие имя (является START_ELEMENT или END_ELEMENT). |
boolean |
hasNext() |
Возвращает true, если существует больше событий разбора, и false, если больше событий нет. |
boolean |
hasText() |
Возвращает булево значение, указывающее, содержит ли текущее событие текст. |
boolean |
isAttributeSpecified |
Возвращает true, если этот атрибут был создан по умолчанию. |
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 |
Проверяет, является ли текущее событие заданного типа, и соответствуют ли пространство имён и имя текущему пространству имён и имени текущего события. |
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' привязан, как определено в спецификации Namespaces in 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- позиция атрибута - Возвращает:
- локальное имя атрибута
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
XMLStreamReader
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».- Указано в:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/stream/util/StreamReaderDelegate.html