Класс 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 |
Возвращает локальное имя атрибута по указанному индексу. |
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() |
Возвращает true, если текущее событие имеет имя (является START_ELEMENT или END_ELEMENT), иначе false. |
boolean |
hasNext() |
Возвращает true, если есть больше событий разбора, и false, если больше событий нет. |
boolean |
hasText() |
Возвращает true, если текущее событие содержит текст, иначе false. |
boolean |
isAttributeSpecified |
Возвращает true, если атрибут был создан по умолчанию. |
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- позиция атрибута - Возвращает:
- локальное имя атрибута
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", 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 - Возвращает:
- локальное имя
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, если это автономная версия, или 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, 2023, 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/21/docs/api/java.xml/javax/xml/stream/util/StreamReaderDelegate.html