Класс 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). |
boolean |
hasNext() |
Возвращает true, если есть больше событий разбора, и false, если больше нет событий. |
boolean |
hasText() |
Возвращает true, если текущее событие содержит текст. |
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". Длина должна быть больше 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, 2021, 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/17/docs/api/java.xml/javax/xml/stream/util/StreamReaderDelegate.html