ストリームを使用した XML の読み取り
XMLStreamReader クラスメソッドでは、XML データの転送と参照のみアクセスを可能にします。
これらのメソッドは HTTP コールアウトと併用して、XML データを解析したり、余分なイベントをスキップしたりします。深度が最大 50 ノードのネストされた XML コンテンツを解析できます。次の例は、新しい XmlStreamReader オブジェクトのインスタンス化の方法を示しています。
これらのメソッドは、次の XML イベント上で動作します。
- 属性イベントは、特定の要素のために指定されます。たとえば、要素 <book> には、属性 title:<book title="Salesforce.com for Dummies"> があります。
- 要素開始イベントは、要素用の開始タグです。例: <book>。
- 要素終了イベントは、要素用の終了タグです。例: </book>。
- ドキュメント開始イベントは、ドキュメント用の開始タグです。
- ドキュメント終了イベントは、ドキュメント用の終了タグです。
- エンティティ参照は、コード内のエンティティ参照です。例: !ENTITY title = "My Book Title"。
- 文字イベントは、テキスト文字です。
- コメントイベントは、XML ファイル内のコメントです。
XML データを繰り返し処理するには、next メソッドと hasNext メソッドを使用します。getNamespace メソッドなどの get メソッドを使用して XML 内のデータにアクセスします。
XML データを反復するときに、XML データの最後を追い越して読み込むことを避けるために、next をコールする前に hasNext を使用してストリームデータが利用可能であることを必ず確認します。