|
JavaTM Platform Standard Ed. 6 |
|||||||||
��һ���� ��һ���� | ��� ��� ������ | |||||||||
ժҪ�� Ƕ�� | �ֶ� | ���췽�� | ���� | ��ϸ��Ϣ�� �ֶ� | ���췽�� | ���� |
public interface XMLStreamReader
XMLStreamReader �ӿ�����ת�� XML �Ͷ� XML ��ֻ�����ʡ��������Ϊ��ȡ XML ���ݵ���Ͳ�������Ч�ķ�����
XMLStreamReader �����Ϊʹ�� next() �� hasNext() �� XML �Ͻ��е���������ʹ������ getEventType()��getNamespaceURI()��getLocalName() �� getText() ֮��ķ����������ݣ�
next() ������ʹ reader ��ȡ��һ�������¼���next() ��������һ��������ָʾ�ղŶ�ȡ���¼����͡�
�¼����Ϳ���ʹ�� getEventType() ��ȷ����
�����¼�������Ϊ XML ������DTD����ʼ��ǡ��ַ����ݡ��ո�����ǡ�ע�ͻ���ָ����Ի����ƿռ��¼�������Ϊ��ѯ�����Ľ�����ĵ��ĸ�������֡�
Ϊ������ XML 1.0��XML ���������뽫��������δ����ʵ��ı�ʶ����ע���������������ʶ�����ݸ�Ӧ�ó�����Ϣͨ���˽ӿ��ϵ����� API �ṩ���������������������ʴ���Ϣ��javax.xml.stream.notations �� javax.xml.stream.entities����ǰ�¼�Ϊ DTD ʱ�����µ��ý�����һ�� Notation �б� List l = (List) getProperty("javax.xml.stream.notations");
���µ��ý�����һ��ʵ�������б���List l = (List) getProperty("javax.xml.stream.entities");
��Щ����ֻ���� DTD �¼��з��ʣ����ұ�����Ϊ�����Ϣ�����ã��� null��
�±������˸���״̬����Ӧ����Ч���������ij�ַ���������Ч״̬�е��õģ���÷������׳� java.lang.IllegalStateException��
ÿ��״̬��Ӧ����Ч���� | |
---|---|
�¼����� | ��Ч���� |
����״̬ | getProperty()��hasNext()��require()��close()��getNamespaceURI()��isStartElement()��isEndElement()��isCharacters()��isWhiteSpace()��getNamespaceContext()��getEventType()��getLocation()��hasText()��hasName() |
START_ELEMENT | next()��getName()��getLocalName()��hasName()��getPrefix()��getAttributeXXX()��isAttributeSpecified()��getNamespaceXXX()��getElementText()��nextTag() |
ATTRIBUTE | next()��nextTag()��getAttributeXXX()��isAttributeSpecified() |
NAMESPACE | next()��nextTag()��getNamespaceXXX() |
END_ELEMENT | next()��getName()��getLocalName()��hasName()��getPrefix()��getNamespaceXXX()��nextTag() |
CHARACTERS | next()��getTextXXX()��nextTag() |
CDATA | next()��getTextXXX()��nextTag() |
COMMENT | next()��getTextXXX()��nextTag() |
SPACE | next()��getTextXXX()��nextTag() |
START_DOCUMENT | next()��getEncoding()��getVersion()��isStandalone()��standaloneSet()��getCharacterEncodingScheme()��nextTag() |
END_DOCUMENT | close() |
PROCESSING_INSTRUCTION | next()��getPITarget()��getPIData()��nextTag() |
ENTITY_REFERENCE | next()��getLocalName()��getText()��nextTag() |
DTD | next()��getText()��nextTag() |
XMLEvent
,
XMLInputFactory
,
XMLStreamWriter
�ֶ�ժҪ |
---|
�ӽӿ� 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 |
����ժҪ | |
---|---|
void |
close()
�ͷ���� Reader ������������Դ�� |
int |
getAttributeCount()
���ش� START_ELEMENT �е����Լ������˷������� START_ELEMENT �� ATTRIBUTE ��Ч�� |
String |
getAttributeLocalName(int index)
�������ṩ�����������Ե� localName |
QName |
getAttributeName(int index)
�������ṩ�����������Ե� qname |
String |
getAttributeNamespace(int index)
�������ṩ�����������Ե����ƿռ� |
String |
getAttributePrefix(int index)
�������ṩ�����������Ե�ǰ |
String |
getAttributeType(int index)
�������ṩ�����������Ե� XML ���� |
String |
getAttributeValue(int index)
���� index ��������ֵ |
String |
getAttributeValue(String namespaceURI,
String localName)
���ش������ƿռ�� localName �����ԵĹ淶������ֵ�� |
String |
getCharacterEncodingScheme()
���� xml �������������ַ����롣 |
String |
getElementText()
��ȡ���ı�Ԫ�ص����ݣ�������Ǵ��ı�Ԫ�أ����׳��쳣�� |
String |
getEncoding()
������������֪����������룻���δ֪���� null�� |
int |
getEventType()
����һ�������룬ָʾ�����ָ����¼������͡� |
String |
getLocalName()
���ص�ǰ�¼��ģ����أ����ơ� |
Location |
getLocation()
���ش������ĵ�ǰλ�á� |
QName |
getName()
���ص�ǰ START_ELEMENT �� END_ELEMENT �¼��� QName |
NamespaceContext |
getNamespaceContext()
���ص�ǰλ�õ�ֻ�����ƿռ������ġ� |
int |
getNamespaceCount()
������ START_ELEMENT �� END_ELEMENT �����������ƿռ�ļ������˷������� START_ELEMENT��END_ELEMENT �� NAMESPACE ��Ч�� |
String |
getNamespacePrefix(int index)
������ index �����������ƿռ�ǰ�� |
String |
getNamespaceURI()
�����ǰ�¼��� START_ELEMENT �� END_ELEMENT����˷�������ǰ�� URI ��Ĭ�����ƿռ䡣 |
String |
getNamespaceURI(int index)
������ index �����������ƿռ� URI�� |
String |
getNamespaceURI(String prefix)
���ظ���ǰ�� URI�� |
String |
getPIData()
��ȡ����ָ������ݽ� |
String |
getPITarget()
��ȡ����ָ���Ŀ�� |
String |
getPrefix()
���ص�ǰ�¼���ǰ������¼�û��ǰ���� null |
Object |
getProperty(String name)
�ӵײ�ʵ�ֻ�ȡ����/���Ե�ֵ |
String |
getText()
���ַ�������ʽ���ؽ����¼��ĵ�ǰֵ���˷������� CHARACTERS �¼����ַ���ֵ������ COMMENT ��ֵ��ENTITY_REFERENCE �����ֵ��CDATA �ڵ��ַ���ֵ��SPACE �¼����ַ���ֵ��DTD �ڲ��Ӽ����ַ���ֵ�� |
char[] |
getTextCharacters()
����һ���������¼����ַ������顣 |
int |
getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int length)
��ȡ�� CHARACTERS��SPACE �� CDATA �¼��������ı��� |
int |
getTextLength()
�����ı��ַ������д��ı��¼����ַ����г��ȡ� |
int |
getTextStart()
���ش洢�����ı��¼��ģ���һ���ַ�λ�ô����ı��ַ������ƫ������ |
String |
getVersion()
��ȡ�� xml ������������ xml �汾�����û�������汾���� null |
boolean |
hasName()
�����ǰ�¼������ƣ��� START_ELEMENT �� END_ELEMENT������ ture������ false |
boolean |
hasNext()
����ж�������¼����� true������������¼����� false�� |
boolean |
hasText()
�����ǰ�¼������ı����� true������ false�� |
boolean |
isAttributeSpecified(int index)
����һ�� boolean ֵ����ָʾ�������Ƿ�ΪĬ�ϴ����� |
boolean |
isCharacters()
������ָ���ַ������¼����� true |
boolean |
isEndElement()
������ָ�������ǣ��� true������ false�� |
boolean |
isStandalone()
��ȡ xml �����еĶ������� |
boolean |
isStartElement()
������ָ��ʼ��ǣ��� true������ false�� |
boolean |
isWhiteSpace()
������ָ�������пո���ɵ��ַ������¼����� true |
int |
next()
��ȡ��һ�������¼�??�����������õ����洢�鷵�������������ַ����ݣ���Ҳ���Խ���ָ�ɼ����洢�顣 |
int |
nextTag()
�ڵ��� START_ELEMENT �� END_ELEMENT ֮ǰ���������пո�isWhiteSpace() ���� true����COMMENT �� PROCESSING_INSTRUCTION�� |
void |
require(int type,
String namespaceURI,
String localName)
���Ե�ǰ�¼��Ƿ����ڸ��������ͣ��Լ����ƿռ�������Ƿ��뵱ǰ�¼��ĵ�ǰ���ƿռ��������ƥ�䡣 |
boolean |
standaloneSet()
����ĵ����Ƿ������˶��� |
������ϸ��Ϣ |
---|
Object getProperty(String name) throws IllegalArgumentException
name
- ���Ե����ƣ�������Ϊ null
IllegalArgumentException
- �������Ϊ nullint next() throws XMLStreamException
����������� XML��
<foo><!--description-->�����ı�<![CDATA[<greeting>Hello</greeting>]]>��������</foo>
�� foo ���� next() ����Ϊ���ǣ�
1- ע�� (COMMENT)
2- Ȼ�����ַ��� (CHARACTERS)
3- �������� CDATA �ڣ���һ�� CHARACTERS��
4- �ٽ���������һ���ַ��� ����һ�� CHARACTERS��
5- ����� END_ELEMENT
ע�� ��Ԫ�أ��� <tag/>���������������������¼����棺START_ELEMENT �� END_ELEMENT??�Ᵽ֤�˿�Ԫ�ض� <tag></tag> �����ĵ�Ч�ԡ� ������� hasNext() ���� false ֮����ô˷�������˷������׳� IllegalStateException��
NoSuchElementException
- ����� hasNext() ���� false ʱ����
XMLStreamException
- ��������ײ� XML Դʱ��������XMLEvent
void require(int type, String namespaceURI, String localName) throws XMLStreamException
type
- �¼�����namespaceURI
- �¼��� URI������Ϊ nulllocalName
- �¼��� localName������Ϊ null
XMLStreamException
- �������ֵ��ƥ�䡣String getElementText() throws XMLStreamException
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();
XMLStreamException
- �����ǰ�¼����� START_ELEMENT ���������˷��ı�Ԫ��int nextTag() throws XMLStreamException
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;
XMLStreamException
- �����ǰ�¼����ǿո�PROCESSING_INSTRUCTION��START_ELEMENT �� END_ELEMENT
NoSuchElementException
- ������� hasNext() ���� false ʱ������boolean hasNext() throws XMLStreamException
XMLStreamException
- ��������һ��״̬ʱ�������ش���void close() throws XMLStreamException
XMLStreamException
- ����ͷŹ�����Դʱ��������String getNamespaceURI(String prefix)
ע������ Namespaces in XML �淶�еĶ��壬'xml' ǰ���� "http://www.w3.org/XML/1998/namespace"��
ע��'xmlns' ǰ���뱻�������������ƿռ䣺http://www.w3.org/2000/xmlns/
prefix
- Ҫ���ҵ�ǰ��������Ϊ null
IllegalArgumentException
- ���ǰΪ nullboolean isStartElement()
boolean isEndElement()
boolean isCharacters()
boolean isWhiteSpace()
String getAttributeValue(String namespaceURI, String localName)
namespaceURI
- ���Ե����ƿռ�localName
- ���Եı������ƣ�������Ϊ null
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEint getAttributeCount()
IllegalStateException
- ����ⲻ�� START_ELEMENT �� ATTRIBUTEQName getAttributeName(int index)
index
- ���Ե�λ��
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEString getAttributeNamespace(int index)
index
- ���Ե�λ��
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEString getAttributeLocalName(int index)
index
- ���Ե�λ��
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEString getAttributePrefix(int index)
index
- ���Ե�λ��
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEString getAttributeType(int index)
index
- ���Ե�λ��
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEString getAttributeValue(int index)
index
- ���Ե�λ��
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEboolean isAttributeSpecified(int index)
index
- ���Ե�λ��
IllegalStateException
- ������� START_ELEMENT �� ATTRIBUTEint getNamespaceCount()
IllegalStateException
- ������� START_ELEMENT��END_ELEMENT �� NAMESPACEString getNamespacePrefix(int index)
index
- ���ƿռ�������λ��
IllegalStateException
- ������� START_ELEMENT��END_ELEMENT �� NAMESPACEString getNamespaceURI(int index)
index
- ���ƿռ�������λ��
IllegalStateException
- ������� START_ELEMENT��END_ELEMENT �� NAMESPACENamespaceContext getNamespaceContext()
int getEventType()
String getText()
IllegalStateException
- �����״̬������Ч���ı�״̬��char[] getTextCharacters()
IllegalStateException
- �����״̬������Ч���ı�״̬��int getTextCharacters(int sourceStart, char[] target, int targetStart, int length) throws XMLStreamException
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; }
����ڵײ�Դ�д����κ� XML �������׳� XMLStreamException��"targetStart" ����������ڵ��� 0 ��С�� "target" �ij��ȣ�Length ������� 0���� "targetStart + length" ����С�ڵ��� "target" �ij��ȡ�
sourceStart
- Ҫ���Ƶ�Դ�����е�һ���ַ�������target
- Ŀ������targetStart
- Ŀ�������е���ʼƫ����length
- Ҫ���Ƶ��ַ���
XMLStreamException
- ����ײ� XML Դ���Ǹ�ʽ���õ�
IndexOutOfBoundsException
- ��� targetStart < 0 �� > Ŀ�곤��
IndexOutOfBoundsException
- ��� length < 0 �� targetStart + length > Ŀ�곤��
UnsupportedOperationException
- ����˷�������֧��
NullPointerException
- ���Ŀ��Ϊ nullint getTextStart()
IllegalStateException
- �����״̬������Ч���ı�״̬��int getTextLength()
IllegalStateException
- �����״̬������Ч���ı�״̬��String getEncoding()
boolean hasText()
Location getLocation()
QName getName()
IllegalStateException
- ������� START_ELEMENT �� END_ELEMENTString getLocalName()
IllegalStateException
- ������� START_ELEMENT��END_ELEMENT �� ENTITY_REFERENCEboolean hasName()
String getNamespaceURI()
String getPrefix()
String getVersion()
boolean isStandalone()
boolean standaloneSet()
String getCharacterEncodingScheme()
String getPITarget()
String getPIData()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
��һ���� ��һ���� | ��� ��� ������ | |||||||||
ժҪ�� Ƕ�� | �ֶ� | ���췽�� | ���� | ��ϸ��Ϣ�� �ֶ� | ���췽�� | ���� |
��Ȩ���� 2007 Sun Microsystems, Inc. ��������Ȩ���� ����������֤��������������ĵ����·ַ�������