public class StreamReaderDelegate extends Object implements XMLStreamReader
XMLStreamReader
,
EventReaderDelegate
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
Constructor and Description |
---|
StreamReaderDelegate()
构建一个没有父项的空筛选器。
|
StreamReaderDelegate(XMLStreamReader reader)
用指定的父项构造一个筛选器。
|
Modifier and Type | Method and Description |
---|---|
void |
close()
释放与此读者相关联的任何资源。
|
int |
getAttributeCount()
在这start_element属性返回的计数,这种方法在start_element或属性才有效。
|
String |
getAttributeLocalName(int index)
返回提供的索引属性的LocalName
|
QName |
getAttributeName(int index)
返回提供的索引属性的属性
|
String |
getAttributeNamespace(int index)
返回所提供索引处的属性的命名空间
|
String |
getAttributePrefix(int index)
在所提供的索引处返回此属性的前缀
|
String |
getAttributeType(int index)
返回所提供的索引的属性的XML类型
|
String |
getAttributeValue(int index)
返回索引中的属性的值
|
String |
getAttributeValue(String namespaceUri, String localName)
返回与命名空间和LocalName属性归一化的属性值如果namespaceURI为命名空间不检查空平等
|
String |
getCharacterEncodingScheme()
返回XML声明中声明的字符编码,如果没有声明,将返回null
|
String |
getElementText()
读取仅文本元素的内容,如果这不是一个文本唯一元素,则抛出异常。
|
String |
getEncoding()
返回输入编码,如果已知或无效,如果未知。
|
int |
getEventType()
返回一个整数代码,该代码指示光标指向的事件的类型。
|
String |
getLocalName()
返回当前事件的(本地)名称。
|
Location |
getLocation()
返回处理器的当前位置。
|
QName |
getName()
返回一个属性为当前start_element或end_element事件
|
NamespaceContext |
getNamespaceContext()
返回当前位置的只读命名空间上下文。
|
int |
getNamespaceCount()
返回在这start_element或end_element声明命名空间的计数,这种方法在start_element是唯一有效的,end_element或命名空间。
|
String |
getNamespacePrefix(int index)
返回在索引中声明的命名空间的前缀。
|
String |
getNamespaceURI()
如果当前的事件是一个start_element或end_element此方法返回的默认命名空间的URI前缀或。
|
String |
getNamespaceURI(int index)
返回命名空间URI定义在指数。
|
String |
getNamespaceURI(String prefix)
返回给定的URI前缀。
|
XMLStreamReader |
getParent()
获取此实例的父。
|
String |
getPIData()
获取处理指令的数据部分
|
String |
getPITarget()
获取处理指令的目标
|
String |
getPrefix()
如果事件没有前缀,返回当前事件或空的前缀
|
Object |
getProperty(String name)
从底层实现获取一个功能/属性的值
|
String |
getText()
以字符串的形式返回解析事件的当前值,此返回一个字符事件的字符串值,返回一个评论的价值,一个entity_reference替换值,一个CDATA部分的字符串值,为空间事件的字符串值,或对DTD内部子集的字符串值。
|
char[] |
getTextCharacters()
返回一个包含此事件中的字符的数组。
|
int |
getTextCharacters(int sourceStart, char[] target, int targetStart, int length)
获取文本有关联的人物、空间或CDATA事件。
|
int |
getTextLength()
返回文本字符数组中此文本事件的字符序列的长度。
|
int |
getTextStart()
将偏移量返回到存储的文本字符数组中,其中存储第一个字符(此文本事件的)。
|
String |
getVersion()
获取XML声明上声明的XML版本,如果没有声明,将返回null
|
boolean |
hasName()
如果当前的事件都有一个名字返回true(是一个start_element或end_element)否则返回false
|
boolean |
hasNext()
如果有更多的分析事件和错误,如果没有更多的事件,返回真的。
|
boolean |
hasText()
如果当前事件的文本返回true,否则为假以下事件的文本:字符、DTD、entity_reference,评论,空间
|
boolean |
isAttributeSpecified(int index)
返回一个布尔值,该值表示如果这个属性是默认创建的
|
boolean |
isCharacters()
如果光标指向一个字符数据事件,则返回真
|
boolean |
isEndElement()
如果光标指向一个结束标记(否则为假),则返回真
|
boolean |
isStandalone()
从XML声明中获得独立声明
|
boolean |
isStartElement()
如果光标指向一个开始标记(否则为假),则返回真
|
boolean |
isWhiteSpace()
如果光标指向字符数据的事件,包括所有的空格返回true
|
int |
next()
获取下一个解析事件-一个处理器可以在一个块中返回所有连续的字符数据,或者它可以将它分割成几块。
|
int |
nextTag()
跳过任何空格(iswhitespace()返回true),评论,或processing_instruction,直到start_element或end_element达到。
|
void |
require(int type, String namespaceURI, String localName)
测试如果当前事件是给定类型的,如果命名空间和名称与当前事件的当前命名空间和名称匹配。
|
void |
setParent(XMLStreamReader reader)
设置此实例的父。
|
boolean |
standaloneSet()
检查是否在文档中设置独立设置
|
public StreamReaderDelegate()
public StreamReaderDelegate(XMLStreamReader reader)
reader
-母
public void setParent(XMLStreamReader reader)
reader
-新的父
public XMLStreamReader getParent()
public int next() throws XMLStreamException
XMLStreamReader
给定下面的XML:
<foo > <!描述- >内容文本>![ CDATA [ < > > < /问候问候你好] ] >其他内容
行为next()时调用foo将:
1评论(评论)
2然后人物部分(字符)
3然后CDATA部分(另一个字符)
4然后下一字符段(另一个字符)
5然后end_element
注:空元素(如 <标签> )将报告两个事件:start_element,end_element -这保留解析空元等价 <标签> <标签> 。该方法将返回false,如果是后hasnext()叫抛出一个IllegalStateException。 标签> 标签> 标签>
next
接口
XMLStreamReader
XMLStreamException
-如果有处理底层的XML源的错误
XMLEvent
public int nextTag() throws XMLStreamException
XMLStreamReader
事件类型为int next();而((事件类型= = xmlstreamconstants.characters & iswhitespace())/跳过空白| |(事件类型= = xmlstreamconstants.cdata & iswhitespace())/ /跳过空白| |事件类型= = xmlstreamconstants.space| |事件类型= = xmlstreamconstants.processing_instruction| |事件类型= = xmlstreamconstants.comment){事件类型= next();}如果(事件类型!= xmlstreamconstants.start_element和事件类型!= xmlstreamconstants。end_element){把新的字符串(“xmlstreamexception预期开始或结束标记”,getlocation());}返回事件类型;
nextTag
接口
XMLStreamReader
XMLStreamException
-如果当前事件不是白色的空间,processing_instruction,start_element或end_element
public String getElementText() throws XMLStreamException
XMLStreamReader
如果(geteventtype()!= xmlstreamconstants。start_element){把新的xmlstreamexception(“start_element解析器必须在下次阅读文本”,getlocation());}事件类型为int next();StringBuffer内容=新stringbuffer();而(事件类型!= xmlstreamconstants.end_element){如果(事件类型= = xmlstreamconstants.characters| |事件类型= = xmlstreamconstants.cdata| |事件类型= = xmlstreamconstants.space| |事件类型= = xmlstreamconstants。entity_reference){但追加(gettext());} else if(事件类型= = xmlstreamconstants.processing_instruction| |事件类型= = xmlstreamconstants。评论){/ /跳绳} else if(事件类型= = xmlstreamconstants。end_document){把新的xmlstreamexception(“读取元素文本内容时的意外结束文档”,此);} else if(事件类型= = xmlstreamconstants。start_element){把新的xmlstreamexception(“元文本内容可能不包含start_element”,getlocation());其他{ }把新的xmlstreamexception(“突发事件”+事件类型,getlocation());}事件类型= next();}但tostring()返回;
getElementText
接口
XMLStreamReader
XMLStreamException
-如果当前事件不是一个start_element或者遇到一个非文本元素
public void require(int type, String namespaceURI, String localName) throws XMLStreamException
XMLStreamReader
require
接口
XMLStreamReader
type
-事件类型
namespaceURI
-事件的URI,可能是空的
localName
-事件localname,可能是空的
XMLStreamException
-如果需要的值不匹配。
public boolean hasNext() throws XMLStreamException
XMLStreamReader
hasNext
接口
XMLStreamReader
XMLStreamException
-如果有一个致命的错误检测的下一个状态
public void close() throws XMLStreamException
XMLStreamReader
close
接口
XMLStreamReader
XMLStreamException
-如果有错误释放相关资源
public String getNamespaceURI(String prefix)
XMLStreamReader
注:the 'xml'前缀绑定在Namespaces in XML规范定义为“HTTP:/ /两。org / XML / 1998 /命名空间”。
注:“xmlns”前缀必须解决以下命名空间http://www.w3.org/2000/xmlns/
getNamespaceURI
接口
XMLStreamReader
prefix
-前缀查找,不得空
public NamespaceContext getNamespaceContext()
XMLStreamReader
getNamespaceContext
接口
XMLStreamReader
public boolean isStartElement()
XMLStreamReader
isStartElement
接口
XMLStreamReader
public boolean isEndElement()
XMLStreamReader
isEndElement
接口
XMLStreamReader
public boolean isCharacters()
XMLStreamReader
isCharacters
接口
XMLStreamReader
public boolean isWhiteSpace()
XMLStreamReader
isWhiteSpace
接口
XMLStreamReader
public String getAttributeValue(String namespaceUri, String localName)
XMLStreamReader
getAttributeValue
接口
XMLStreamReader
namespaceUri
-属性的命名空间
localName
-属性的本地名称不能为空
public int getAttributeCount()
XMLStreamReader
getAttributeCount
接口
XMLStreamReader
public QName getAttributeName(int index)
XMLStreamReader
getAttributeName
接口
XMLStreamReader
index
-属性的位置
public String getAttributePrefix(int index)
XMLStreamReader
getAttributePrefix
接口
XMLStreamReader
index
-属性的位置
public String getAttributeNamespace(int index)
XMLStreamReader
getAttributeNamespace
接口
XMLStreamReader
index
-属性的位置
public String getAttributeLocalName(int index)
XMLStreamReader
getAttributeLocalName
接口
XMLStreamReader
index
-属性的位置
public String getAttributeType(int index)
XMLStreamReader
getAttributeType
接口
XMLStreamReader
index
-属性的位置
public String getAttributeValue(int index)
XMLStreamReader
getAttributeValue
接口
XMLStreamReader
index
-属性的位置
public boolean isAttributeSpecified(int index)
XMLStreamReader
isAttributeSpecified
接口
XMLStreamReader
index
-属性的位置
public int getNamespaceCount()
XMLStreamReader
getNamespaceCount
接口
XMLStreamReader
public String getNamespacePrefix(int index)
XMLStreamReader
getNamespacePrefix
接口
XMLStreamReader
index
-命名空间声明的位置
public String getNamespaceURI(int index)
XMLStreamReader
getNamespaceURI
接口
XMLStreamReader
index
-命名空间声明的位置
public int getEventType()
XMLStreamReader
getEventType
接口
XMLStreamReader
public String getText()
XMLStreamReader
getText
接口
XMLStreamReader
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抛出的错误。“对象间复制”参数必须大于或等于0和小于“目标”的长度,长度必须大于0”对象间复制+长度必须小于或等于长度的“目标”。
getTextCharacters
接口
XMLStreamReader
sourceStart
-源数组中复制的第一个字符的索引
target
-目标数组
targetStart
的起始偏移在目标阵列
length
-字符数复制
XMLStreamException
如果底层的XML源形成不好
public char[] getTextCharacters()
XMLStreamReader
getTextCharacters
接口
XMLStreamReader
public int getTextStart()
XMLStreamReader
getTextStart
接口
XMLStreamReader
public int getTextLength()
XMLStreamReader
getTextLength
接口
XMLStreamReader
public String getEncoding()
XMLStreamReader
getEncoding
接口
XMLStreamReader
public boolean hasText()
XMLStreamReader
hasText
接口
XMLStreamReader
public Location getLocation()
XMLStreamReader
getLocation
接口
XMLStreamReader
public QName getName()
XMLStreamReader
getName
接口
XMLStreamReader
public String getLocalName()
XMLStreamReader
getLocalName
接口
XMLStreamReader
public boolean hasName()
XMLStreamReader
hasName
接口
XMLStreamReader
public String getNamespaceURI()
XMLStreamReader
getNamespaceURI
接口
XMLStreamReader
public String getPrefix()
XMLStreamReader
getPrefix
接口
XMLStreamReader
public String getVersion()
XMLStreamReader
getVersion
接口
XMLStreamReader
public boolean isStandalone()
XMLStreamReader
isStandalone
接口
XMLStreamReader
public boolean standaloneSet()
XMLStreamReader
standaloneSet
接口
XMLStreamReader
public String getCharacterEncodingScheme()
XMLStreamReader
getCharacterEncodingScheme
接口
XMLStreamReader
public String getPITarget()
XMLStreamReader
getPITarget
接口
XMLStreamReader
public String getPIData()
XMLStreamReader
getPIData
接口
XMLStreamReader
public Object getProperty(String name)
XMLStreamReader
getProperty
接口
XMLStreamReader
name
-属性的名称,不得空
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.