モジュール java.xml
パッケージ javax.xml.stream

インタフェースXMLStreamReader

  • すべてのスーパー・インタフェース:
    XMLStreamConstants
    既知のすべての実装クラス:
    StreamReaderDelegate

    public interface XMLStreamReader
    extends XMLStreamConstants
    XMLStreamReaderインタフェースを使用すると、XMLの順方向の読取り専用アクセスを行うことができます。 これは、XMLデータの最下位レベルでのもっとも効率的な読取り方法となるように設計されています。

    XMLStreamReaderはnext()とhasNext()を使用してXMLを反復処理していくように設計されています。 データには、getEventType()、getNamespaceURI()、getLocalName()、getText()などのメソッドを使用してアクセス可能です。

    XMLStreamReaderインスタンスは、初期イベント型START_DOCUMENTで作成されます。 任意の時点で、インタフェースのメソッドがnext()メソッドを介して次のイベントをロードする可能性のある現在のイベントが発生します。 現在のイベント型はgetEventType()によって決定され、次にnext()メソッドによって返されます。

    イベントの解析は、XML宣言、DTD、開始タグ、文字データ、空白文字、終了タグ、コメント、または処理命令として定義されます。 属性イベントまたは名前空間イベントが、クエリー処理の結果としてドキュメントのルート・レベルで見つかる場合もあります。

    XML 1.0に準拠するため、XMLプロセッサは、宣言済の未解析エンティティの識別子、表記法宣言およびそれらに関連付けられている識別子をアプリケーションに渡す必要があります。 これらの情報は、このインタフェースのプロパティAPIを通じて提供されます。 javax.xml.stream.notationsとjavax.xml.stream.entitiesの2つのプロパティによって、これらの情報にアクセスできます。 現在のイベントがDTDであれば、List l = (List) getProperty("javax.xml.stream.notations"); の呼出しによって表記法のリストが返されます。List l = (List) getProperty("javax.xml.stream.entities"); の呼出しによって、エンティティ宣言のリストが返されます。これらのプロパティには、DTDイベントの間のみアクセスできます。また、情報が無効な場合はnullが返されるように定義されています。

    次の表に、どのメソッドがどのような状態で有効かについて示します。 無効な状態で呼び出されたメソッドは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()

    導入されたバージョン:
    1.6
    関連項目:
    XMLEvent, XMLInputFactory, XMLStreamWriter
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      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を返します。
      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です)かどうかを示すブール値を返します。
      boolean hasNext()
      構文解析イベントがまだある場合はtrue、そうでない場合はfalseを返します。
      boolean hasText()
      現在のイベントにテキストがあるかどうかを示すブール値を返します。
      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()
      ドキュメントでスタンドアロンが設定されていたかどうかを確認します。
    • メソッドの詳細

      • getProperty

        Object getProperty​(String name)
                    throws IllegalArgumentException
        ベースとなる実装から機能またはプロパティの値を取得します。
        パラメータ:
        name - プロパティの名前(null以外)
        戻り値:
        プロパティの値
        例外:
        IllegalArgumentException - nameがnullである場合
      • next

        int next()
          throws XMLStreamException
        次の構文解析イベントを取得します。プロセッサは、連続する文字データをすべて単一のチャンクとして、またはいくつかのチャンクに分割して返します。 javax.xml.stream.isCoalescingプロパティがtrueに設定されている場合は、要素コンテンツを合体し、連続する要素コンテンツまたはCDATAセクションに対して、CHARACTERSイベントが1つだけ返されるようにしてください。 デフォルトでは、エンティティ参照は展開され、アプリケーションに透過的に報告される必要があります。 エンティティ参照を展開できない場合は、例外がスローされます。 要素コンテンツが空("")の場合、CHARACTERSイベントは報告されません。

        次のXMLが与えられたとします:
        <foo><!--description-->content text<![CDATA[<greeting>Hello>/greeting>]]>other content>/foo>
        foo上にあるときにnext()を呼び出す動作は次のようになります:
        1- コメント(COMMENT)
        2- 文字セクション(CHARACTERS)
        3- CDATAセクション(別のキャラクタ)
        4- 次の文字セクション(別のキャラクタ)
        5- 次にEND_ELEMENT

        注意: 空の要素(<tag/>)は2つの別々のイベントで報告されます: START_ELEMENT, END_ELEMENT - これにより、空の要素と<tag></tag>の解析同等性が保持されます。 hasNext()がfalseを返すと、このメソッドはIllegalStateExceptionをスローします。

        戻り値:
        現在の構文解析イベントに対応する整数型コード
        例外:
        NoSuchElementException - hasNext()がfalseを返すときに呼び出された場合
        XMLStreamException - ベースとなるXMLソースの処理にエラーが発生した場合
        関連項目:
        XMLEvent
      • require

        void require​(int type,
                     String namespaceURI,
                     String localName)
              throws XMLStreamException
        現在のイベントが指定の型かどうか、名前空間と名前が現在のイベントの現在の名前空間と名前に一致するかどうかをテストします。 namespaceURIがnullの場合、名前空間が一致するかどうかは確認されません。また、localNameがnullの場合、名前が一致するかどうかは確認されません。
        パラメータ:
        type - イベントのタイプ
        namespaceURI - イベントのURI (nullの場合もある)
        localName - イベントのlocalName (nullの場合もある)
        例外:
        XMLStreamException - 要求された値が一致しない場合。
      • getElementText

        String getElementText()
                       throws XMLStreamException
        テキストのみの要素のコンテンツを読み取ります。テキストのみの要素でない場合は、例外がスローされます。 javax.xml.stream.isCoalescingの値に関係なく、このメソッドは常に合体したコンテンツを返します。
        前提条件: 現在のイベントが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();
         
        例外:
        XMLStreamException - 現在のイベントがSTART_ELEMENTでない場合、またはテキスト以外の要素が見つかった場合
      • nextTag

        int nextTag()
             throws XMLStreamException
        START_ELEMENTまたはEND_ELEMENTに達するまで、すべての空白文字(isWhiteSpace()がtrueを返す)、COMMENT、またはPROCESSING_INSTRUCTIONをスキップします。 空白文字、COMMENT、PROCESSING_INSTRUCTION、START_ELEMENT、END_ELEMENT以外が見つかると、例外がスローされます。 空白文字で区切られた要素のみのコンテンツを処理するときには、このメソッドを使用するようにします。
        前提条件: なし
        事後条件:現在のイベントが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; 
         
        戻り値:
        読み取った要素のイベント・タイプ(START_ELEMENTまたはEND_ELEMENT)
        例外:
        XMLStreamException - 現在のイベントが空白文字、PROCESSING_INSTRUCTION、START_ELEMENT、またはEND_ELEMENTでない場合
        NoSuchElementException - hasNext()がfalseを返すときに呼び出された場合
      • hasNext

        boolean hasNext()
                 throws XMLStreamException
        構文解析イベントがまだある場合はtrue、そうでない場合はfalseを返します。 このメソッドは、XMLStreamReaderの現在の状態がEND_DOCUMENTの場合はfalseを返します。
        戻り値:
        イベントがまだある場合はtrue、そうでない場合はfalse
        例外:
        XMLStreamException - 次の状態の検出時に致命的なエラーが発生した場合
      • close

        void close()
            throws XMLStreamException
        このリーダーに関連付けられているリソースをすべて解放します。 このメソッドはベースとなる入力ソースを閉じません。
        例外:
        XMLStreamException - 関連付けられているリソースの解放でエラーが発生した場合
      • getNamespaceURI

        String getNamespaceURI​(String prefix)
        指定された接頭辞のURIを返します。 返されるURIはプロセッサの現在の状態によって異なります。

        注:接頭辞「xml」は、「Namespaces in XML」勧告で定義されているように「http://www.w3.org/XML/1998/namespace」にバインドされます。

        注: 接頭辞「xmlns」は名前空間http://www.w3.org/2000/xmlns/に解決される必要があります。

        パラメータ:
        prefix - 検索する接頭辞(null以外)
        戻り値:
        指定された接頭辞にバインドされたURI。バインドされていない場合はnull
        例外:
        IllegalArgumentException - 接頭辞がnullである場合
      • isStartElement

        boolean isStartElement()
        カーソルが開始タグをポイントしている場合はtrue、そうでない場合はfalseを返します。
        戻り値:
        カーソルが開始タグをポイントしている場合はtrue、そうでない場合はfalse
      • isEndElement

        boolean isEndElement()
        カーソルが終了タグをポイントしている場合はtrue、そうでない場合はfalseを返します。
        戻り値:
        カーソルが終了タグをポイントしている場合はtrue、そうでない場合はfalse
      • isCharacters

        boolean isCharacters()
        カーソルが文字データ・イベントをポイントしている場合はtrueを返します。
        戻り値:
        カーソルが文字データをポイントしている場合はtrue、そうでない場合はfalse
      • isWhiteSpace

        boolean isWhiteSpace()
        カーソルが空白文字だけで構成される文字データ・イベントをポイントしている場合はtrueを返します。
        戻り値:
        カーソルがすべての空白文字をポイントしている場合はtrue、そうでない場合はfalse
      • getAttributeValue

        String getAttributeValue​(String namespaceURI,
                                 String localName)
        名前空間とlocalNameを持つ属性の正規化された属性値を返します。namespaceURIがnullの場合、名前空間が一致するかどうかは確認されません。
        パラメータ:
        namespaceURI - 属性の名前空間
        localName - 属性のローカル名(null以外)
        戻り値:
        属性の値。見つからない場合はnull
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getAttributeCount

        int getAttributeCount()
        このSTART_ELEMENT上の属性の数を返します。このメソッドはSTART_ELEMENTまたはATTRIBUTEのみで有効です。 この数には、名前空間の定義は含まれません。 属性インデックスはゼロから始まります。
        戻り値:
        属性の数
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getAttributeName

        QName getAttributeName​(int index)
        指定されたインデックスにある属性のqnameを返します。
        パラメータ:
        index - 属性の位置
        戻り値:
        属性のQName
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getAttributeNamespace

        String getAttributeNamespace​(int index)
        指定されたインデックスにある属性の名前空間を返します。
        パラメータ:
        index - 属性の位置
        戻り値:
        名前空間URI (nullの場合もある)
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getAttributeLocalName

        String getAttributeLocalName​(int index)
        指定されたインデックスにある属性のlocalNameを返します。
        パラメータ:
        index - 属性の位置
        戻り値:
        属性のlocalName
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getAttributePrefix

        String getAttributePrefix​(int index)
        指定されたインデックスにある属性の接頭辞を返します。
        パラメータ:
        index - 属性の位置
        戻り値:
        属性の接頭辞
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getAttributeType

        String getAttributeType​(int index)
        指定されたインデックスにある属性のXML型を返します。
        パラメータ:
        index - 属性の位置
        戻り値:
        属性のXML型
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getAttributeValue

        String getAttributeValue​(int index)
        インデックスにある属性の値を返します。
        パラメータ:
        index - 属性の位置
        戻り値:
        属性値
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • isAttributeSpecified

        boolean isAttributeSpecified​(int index)
        この属性がデフォルトで作成されたかどうかを示すboolean値を返します。
        パラメータ:
        index - 属性の位置
        戻り値:
        デフォルトの属性である場合はtrue
        例外:
        IllegalStateException - START_ELEMENTまたはATTRIBUTEでない場合
      • getNamespaceCount

        int getNamespaceCount()
        このSTART_ELEMENTまたはEND_ELEMENTで宣言された名前空間の数を返します。このメソッドはSTART_ELEMENT、END_ELEMENT、またはNAMESPACEのみで有効です。 END_ELEMENTでは、スコープ外に出つつある名前空間の数になります。 これは、要素終了イベントのSAXコールバックによって報告される情報と同等です。
        戻り値:
        この要素上の名前空間宣言の数
        例外:
        IllegalStateException - START_ELEMENT、END_ELEMENT、またはNAMESPACEでない場合
      • getNamespacePrefix

        String getNamespacePrefix​(int index)
        指定されたインデックスで宣言された名前空間の接頭辞を返します。 デフォルトの名前空間宣言の場合はnullを返します。
        パラメータ:
        index - 名前空間宣言の位置
        戻り値:
        名前空間の接頭辞
        例外:
        IllegalStateException - START_ELEMENT、END_ELEMENT、またはNAMESPACEでない場合
      • getNamespaceURI

        String getNamespaceURI​(int index)
        指定されたインデックスで宣言された名前空間のURIを返します。
        パラメータ:
        index - 名前空間宣言の位置
        戻り値:
        名前空間URI
        例外:
        IllegalStateException - START_ELEMENT、END_ELEMENT、またはNAMESPACEでない場合
      • getNamespaceContext

        NamespaceContext getNamespaceContext()
        現在の位置の読取り専用の名前空間コンテキストを返します。 コンテキストは一時的なもので、next()の呼出しによってリーダーの状態が変更されるまで有効です。
        戻り値:
        名前空間コンテキスト
      • getEventType

        int getEventType()
        カーソルがポイントしているイベントのタイプを示す整数型コードを返します。 初期イベント型はXMLStreamConstants.START_DOCUMENTです。
        戻り値:
        現在のイベントの型
      • getText

        String getText()
        構文解析イベントの現在の値を文字列として返します。CHARACTERSイベントの文字列値、COMMENTの値、ENTITY_REFERENCEの置換値、CDATAセクションの文字列値、SPACEイベントの文字列値、DTDの内部サブセットの文字列値を返します。 ENTITY_REFERENCEが解決されている場合、すべての文字データがCHARACTERSイベントとして報告されます。
        戻り値:
        現在のテキストまたはnull
        例外:
        IllegalStateException - この状態が有効なテキスト状態でない場合。
      • getTextCharacters

        char[] getTextCharacters()
        このイベントからの文字を含む配列を返します。 この配列を読取り専用で一時的なものとして処理するようにします。 つまり、この配列にテキスト文字が含まれるのは、XMLStreamReaderが次のイベントに移動するまでの間です。 それ以上の期間テキストを文字配列に保持したり、配列の内容を変更したりすると、このインタフェースの規約違反になります。
        戻り値:
        現在のテキストまたは空の配列
        例外:
        IllegalStateException - この状態が有効なテキスト状態でない場合。
      • getTextCharacters

        int getTextCharacters​(int sourceStart,
                              char[] target,
                              int targetStart,
                              int length)
                       throws XMLStreamException
        CHARACTERS、SPACE、またはCDATAイベントに関連付けられているテキストを取得します。 sourceStartで始まるテキストが、targetStartの位置で始まるtargetにコピーされます。 最大でlengthの数の文字がコピーされます。 実際にコピーされた文字数が返されます。 sourceStart引数は0以上で、イベントに関連付けられている文字数以下であることが必要です。 通常、sourceStartが0の位置で始まるテキストが要求されます。 実際にコピーされた文字数がlengthよりも少なかった場合、それ以上のテキストは存在しません。 そうでない場合、すべてのテキストが取得されるまで後続の呼出しが必要になります。 次に例を示します。
        
         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の長さ以下であることが必要です。
        パラメータ:
        sourceStart - コピー対象ソース配列内の最初の文字のインデックス
        target - 転送先配列
        targetStart - ターゲットの配列内での開始オフセット
        length - コピーする文字数
        戻り値:
        実際にコピーした文字数
        例外:
        XMLStreamException - ベースとなるXMLソースが整形式でない場合
        IndexOutOfBoundsException - targetStart < 0 or >がターゲットの長さよりも大きい場合
        IndexOutOfBoundsException - もし長さが< 0 or targetStart + length >なら目標の長さ
        UnsupportedOperationException - このメソッドがサポートされていない場合
        NullPointerException - targetがnullである場合
      • getTextStart

        int getTextStart()
        このテキスト・イベントの最初の文字が保存されているテキスト文字配列へのオフセットを返します。
        戻り値:
        文字配列内のテキストの開始位置
        例外:
        IllegalStateException - この状態が有効なテキスト状態でない場合。
      • getTextLength

        int getTextLength()
        このテキスト・イベントに対するテキスト文字配列内の文字シーケンスの長さを返します。
        戻り値:
        テキストの長さ
        例外:
        IllegalStateException - この状態が有効なテキスト状態でない場合。
      • getEncoding

        String getEncoding()
        入力エンコーディングが既知の場合は、その入力エンコーディングを返します。未知の場合はnullを返します。
        戻り値:
        このインスタンスのエンコーディングまたはnull
      • hasText

        boolean hasText()
        現在のイベントにテキストがあるかどうかを示すブール値を返します。 次のイベントにはテキストがあります: キャラクタ、DTD、ENTITY_REFERENCE、COMMENT、SPACE
        戻り値:
        イベントにテキストがある場合はtrue、そうでない場合はfalse
      • getLocation

        Location getLocation()
        プロセッサの現在の位置を返します。 Locationがわからない場合、プロセッサはLocationの実装を返します。これは、位置について -1を返し、publicIdとsystemIdについてnullを返します。 位置情報が有効なのは、next()が呼び出されるまでのみです。
        戻り値:
        カーソルのロケーション
      • getName

        QName getName()
        現在のSTART_ELEMENTまたはEND_ELEMENTイベントのQNameを返します。
        戻り値:
        現在のSTART_ELEMENTまたはEND_ELEMENTイベントのQName
        例外:
        IllegalStateException - START_ELEMENTまたはEND_ELEMENTでない場合
      • getLocalName

        String getLocalName()
        現在のイベントのローカル名を返します。 START_ELEMENTまたはEND_ELEMENTについては、現在の要素のローカル名を返します。 ENTITY_REFERENCEについては、エンティティ名を返します。 現在のイベントは、START_ELEMENT、END_ELEMENT、ENTITY_REFERENCEのいずれかである必要があります。
        戻り値:
        localName
        例外:
        IllegalStateException - START_ELEMENT、END_ELEMENT、またはENTITY_REFERENCEでない場合
      • hasName

        boolean hasName()
        現在のイベントの名前が(START_ELEMENTまたはEND_ELEMENTです)かどうかを示すブール値を返します。
        戻り値:
        イベントに名前がある場合はtrue、そうでない場合はfalse
      • getNamespaceURI

        String getNamespaceURI()
        現在のイベントがSTART_ELEMENTまたはEND_ELEMENTである場合、このメソッドは接頭辞のURIまたはデフォルトの名前空間を返します。 イベントが接頭辞を持たない場合、nullを返します。
        戻り値:
        この要素の接頭辞にバインドされたURI、デフォルトの名前空間、またはnull
      • getPrefix

        String getPrefix()
        現在のイベントの接頭辞を返します。イベントが接頭辞を持たない場合はnullを返します。
        戻り値:
        接頭辞またはnull
      • getVersion

        String getVersion()
        XML宣言で宣言されたXMLバージョンを取得します。宣言されていない場合はnullを返します。
        戻り値:
        XMLバージョンまたはnull
      • isStandalone

        boolean isStandalone()
        XML宣言からスタンドアロン宣言を取得します。
        戻り値:
        スタンドアロンである場合はtrue、そうでない場合はfalse
      • standaloneSet

        boolean standaloneSet()
        ドキュメントでスタンドアロンが設定されていたかどうかを確認します。
        戻り値:
        ドキュメントでスタンドアロンが設定されていた場合はtrue、そうでない場合はfalse
      • getCharacterEncodingScheme

        String getCharacterEncodingScheme()
        XML宣言で宣言された文字エンコーディングを返します。宣言されていない場合はnullを返します。
        戻り値:
        ドキュメントで宣言されたエンコーディングまたはnull
      • getPITarget

        String getPITarget()
        処理命令のターゲットを取得します。
        戻り値:
        ターゲットまたはnull
      • getPIData

        String getPIData()
        処理命令のデータ・セクションを取得します。
        戻り値:
        データまたはnull