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
コンストラクタと説明 |
---|
StreamReaderDelegate()
親を持たない空のフィルタを構築します。
|
StreamReaderDelegate(XMLStreamReader reader)
指定された親を持つフィルタを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
close()
このリーダーに関連付けられているリソースをすべて解放します。
|
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)
インデックスにある属性の値を返します。
|
String |
getAttributeValue(String namespaceUri, String localName)
名前空間と localName を持つ属性の正規化された属性値を返します。namespaceURI が null の場合、名前空間が一致するかどうかは確認されません。
|
String |
getCharacterEncodingScheme()
XML 宣言で宣言された文字エンコーディングを返します。宣言されていない場合は null を返します。
|
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)
指定されたインデックスで宣言された名前空間の接頭辞を返します。
|
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()
現在のイベントの接頭辞を返します。イベントが接頭辞を持たない場合は 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) を持つ場合 true、そうでない場合 false を返します。
|
boolean |
hasNext()
構文解析イベントがまだある場合は true、そうでない場合は false を返します。
|
boolean |
hasText()
現在のイベントにテキストが含まれる場合 true、そうでない場合 false を返します。CHARACTERS、DTD、ENTITY_REFERENCE、COMMENT、SPACE の各イベントにはテキストが含まれます。
|
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)
現在のイベントが指定の型かどうか、名前空間と名前が現在のイベントの現在の名前空間と名前に一致するかどうかをテストします。
|
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><!--description-->content text<![CDATA[<greeting>Hello</greeting>]]>other content</foo>
foo に対する next() 呼び出しの動作は次のとおりです。
1- コメント (COMMENT)
2- 文字セクション (CHARACTERS)
3- CDATA セクション (もう 1 つの CHARACTERS)
4- 次の文字セクション (もう 1 つの CHARACTERS)
5- END_ELEMENT
注: 空の要素 (<tag/> など) は 2 つの別個のイベントである START_ELEMENT と END_ELEMENT。これにより、空の要素の解析が <tag></tag> と等しく保たれます。 hasNext() が false を返すと、このメソッドは IllegalStateException をスローします。
next
、インタフェース: XMLStreamReader
XMLStreamException
- ベースとなる XML ソースの処理にエラーが発生した場合XMLEvent
public int nextTag() throws XMLStreamException
XMLStreamReader
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
XMLStreamException
- 現在のイベントが空白文字、PROCESSING_INSTRUCTION、START_ELEMENT、または END_ELEMENT でない場合public String getElementText() throws XMLStreamException
XMLStreamReader
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 でない場合、またはテキスト以外の要素が見つかった場合public void require(int type, String namespaceURI, String localName) throws XMLStreamException
XMLStreamReader
require
、インタフェース: XMLStreamReader
type
- イベントのタイプnamespaceURI
- イベントの URI (null の場合もある)localName
- イベントの localName (null の場合もある)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
注: 接頭辞「xml」は、「Namespaces in XML」勧告で定義されているように「http://www.w3.org/XML/1998/namespace」にバインドされます。
注: 接頭辞「xmlns」は名前空間 http://www.w3.org/2000/xmlns/ に解決される必要があります。
getNamespaceURI
、インタフェース: XMLStreamReader
prefix
- 検索する接頭辞 (null 以外)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
- 属性のローカル名 (null 以外)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; }
- ベースとなるソースで何らかの XML エラーが発生すると、XMLStreamException がスローされることがあります。targetStart 引数は 0 以上で、target の長さよりも小さい必要があり、length は 0 よりも大きく、targetStart と length の合計は target の長さ以下であることが必要です。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
- プロパティーの名前 (null 以外) バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.