言語

IXmlPullParser インターフェイス

定義

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

[Android.Runtime.Register("org/xmlpull/v1/XmlPullParser", "", "Org.XmlPull.V1.IXmlPullParserInvoker")]
public interface IXmlPullParser : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("org/xmlpull/v1/XmlPullParser", "", "Org.XmlPull.V1.IXmlPullParserInvoker")>]
type IXmlPullParser = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
実装

注釈

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

set:<ul><li><b>non-validating</b> パーサーは、FEATURE_PROCESS_DOCDECLが true に設定されている場合に XML 1.0 仕様で定義されているとおり、次のように異なる種類のパーサーがあります。 xml 1.0 仕様で定義されている <li><b>検証パーサー</b> FEATURE_VALIDATIONが true の場合 (FEATURE_PROCESS_DOCDECLが true であることを意味します) <li>FEATURE_PROCESS_DOCDECLが false の場合 (これは既定値であり、解析を開始する前に別の値を変更する必要がある場合は必要です)、パーサーは XML ドキュメントに <em>no DOCDECL が存在しない</em> 状態で XML 1.0 準拠の非検証パーサーのように動作します (内部エンタイトは defineEntityReplacementText() で定義できます)。 この動作モードは、J2ME などの制約された環境<>/b<での操作の>bを目的としています。 </ul>

next() と nextToken() の 2 つの主要なメソッドがあります。 next() は高レベルの解析イベントへのアクセスを提供しますが、nextToken() では下位レベルのトークンにアクセスできます。

パーサーの現在のイベント状態は、getEventType() メソッドを呼び出すことによって判断できます。 最初は、パーサーはSTART_DOCUMENT状態です。

メソッド next() はパーサーを次のイベントに進めます。 次から返される int 値は、現在のパーサーの状態を決定し、getEventType () の次の呼び出しから返される値と同じです。

次のイベントの種類は、next()<dl><d>START_TAG<dd> XML 開始タグが読み取られました。 <dt>TEXT<dd> テキスト コンテンツが読み取られました。テキスト コンテンツは getText() メソッドを使用して取得できます。 (検証モードで next() が無視可能な空白を報告しない場合は、代わりに nextToken() を使用します) <dt>END_TAG<dd> 終了タグが読み取られた <dt>END_DOCUMENT<dd> それ以上のイベントは </dl で使用できません>

first next() または nextToken() (または他の next*() メソッド) が呼び出された後、ユーザー アプリケーションは、xml バージョン、スタンドアロン、およびエンコードを次の方法で XML 宣言から取得できます:<ul><li><b>version</b>: getProperty(>http://xmlpull.org/v1/doc/properties.html#xmldecl-version>)XMLDecl が読み取られなかった場合、またはプロパティが <li><b>standalone</b>: getProperty(>http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone がサポートされていない場合は、文字列 ("1.0") または null を返します>)はブール値を返します。スタンドアロン宣言がない場合、またはプロパティがサポートされていない場合はブール値 (true) を返します。スタンドアロン ="yes" の場合は Boolean(true) を返し、スタンドアロン ="no" <li><b>encoding</b>: ストリームに不明なエンコード (setInputStream で設定されていない) があり、XMLDecl </ul で宣言されていない場合は getInputEncoding() から取得されます。>

この API を使用するための最小限の例は、次のようになります。

import java.io.IOException;
            import java.io.StringReader;

            import org.xmlpull.v1.XmlPullParser;
            import org.xmlpull.v1.<a href="XmlPullParserException.html">XmlPullParserException</a>;
            import org.xmlpull.v1.<a href="XmlPullParserFactory.html">XmlPullParserFactory</a>;

            public class SimpleXmlPullApp
            {

                public static void main (String args[])
                    throws XmlPullParserException, IOException
                {
                    XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
                    factory.setNamespaceAware(true);
                    XmlPullParser xpp = factory.newPullParser();

                    xpp.<a href="#setInput">setInput</a>( new StringReader ( "&lt;foo>Hello World!&lt;/foo>" ) );
                    int eventType = xpp.getEventType();
                    while (eventType != XmlPullParser.END_DOCUMENT) {
                     if(eventType == XmlPullParser.START_DOCUMENT) {
                         System.out.println("Start document");
                     } else if(eventType == XmlPullParser.START_TAG) {
                         System.out.println("Start tag "+xpp.<a href="#getName()">getName()</a>);
                     } else if(eventType == XmlPullParser.END_TAG) {
                         System.out.println("End tag "+xpp.getName());
                     } else if(eventType == XmlPullParser.TEXT) {
                         System.out.println("Text "+xpp.<a href="#getText()">getText()</a>);
                     }
                     eventType = xpp.next();
                    }
                    System.out.println("End document");
                }
            }

上記の例では、次の出力が生成されます。

Start document
            Start tag foo
            Text Hello World!
            End tag foo
            End document

API の使用方法の詳細については、〘〗〘 http://www.xmlpull.org

Javaドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

フィールド

名前 説明
FeatureProcessDocdecl

この機能は、ドキュメント宣言が処理されるかどうかを決定します。

FeatureProcessNamespaces

この機能は、パーサーが名前空間を処理するかどうかを決定します。

FeatureReportNamespaceAttributes

この機能は、名前空間属性が属性アクセス メソッドを介して公開されるかどうかを決定します。

FeatureValidation

この機能がアクティブ化されている場合、XML 1 で定義されているすべての検証エラー。

NoNamespace

この定数は、既定の名前空間 (空の文字列 "") を表します

プロパティ

名前 説明
AttributeCount

現在の開始タグの属性の数を返します。現在のイベントの種類がSTART_TAGされていない場合は -1 します。

ColumnNumber

現在の列番号を返します。 実装では、さまざまなベースを使用できます。 XmlReaderPullParser は、0 から始まる列番号を返します。

Depth

要素の現在の深さを返します。

EventType

現在のイベント (START_TAG、END_TAG、TEXT など) の型を返します。

Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
InputEncoding

既知の場合は入力エンコードを返し、それ以外の場合は null を返します。

IsEmptyElementTag

現在のイベントがSTART_TAGされ、タグが縮退された場合 (例: <foobar/>) の場合は true を返します。

IsWhitespace

現在の TEXT イベントに空白文字のみが含まれているかどうかを確認します。

JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
LineNumber

1 から始まる現在の行番号を返します。

Name

START_TAGイベントまたはEND_TAGイベントの場合、名前空間が有効になると、現在の要素の (ローカル) 名が返されます。

Namespace

現在の要素の名前空間 URI を返します。

PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)
PositionDescription

位置、現在のイベントの説明、データ ソース (既知の場合) など、現在のパーサーの状態を説明する短いテキストを返します。

Prefix

現在の要素のプレフィックスを返します。

Text

現在のイベントのテキスト コンテンツを文字列として返します。

Types

この配列を使用すると、START_TAGや TEXT などのイベント型の整数定数を文字列に変換できます。

メソッド

名前 説明
DefineEntityReplacementText(String, String)

XML 1.0 セクション 4.5 内部エンティティ置換テキストの構築で定義されているように、エンティティ置換テキストの新しい値を設定します。

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
GetAttributeName(Int32)

名前空間が有効な場合は指定した属性のローカル名を返し、名前空間が無効になっている場合は属性名のみを返します。

GetAttributeNamespace(Int32)

指定されたインデックスを持つ属性の名前空間 URI を返します (0 から始まります)。

GetAttributePrefix(Int32)

指定した属性のプレフィックスを返します。要素にプレフィックスがない場合は null を返します。

GetAttributeType(Int32)

パーサーが検証していない場合は、指定した属性の型を返します。CDATA を返す必要があります。

GetAttributeValue(Int32)

指定された属性値を返します。

GetAttributeValue(String, String)

名前空間 URI と名前空間 localName で識別される属性値を返します。

GetFeature(String)

指定されたフィーチャの現在の値を返します。

GetNamespace(String)

パーサーの現在の状態に応じて、指定されたプレフィックスに対応する URI を返します。

GetNamespaceCount(Int32)

指定された深さの名前空間スタック内の要素の数を返します。

GetNamespacePrefix(Int32)

名前空間スタック内の特定の位置の名前空間プレフィックスを返します。

GetNamespaceUri(Int32)

名前空間スタック内の指定された位置の名前空間 URI を返します。位置が範囲外の場合は、例外がスローされます。

GetProperty(String)

プロパティの値を検索します。

GetTextCharacters(Int32[])

現在のイベントのテキスト、および現在のイベントに関連する開始オフセットと長さを含むバッファーを返します。

IsAttributeDefault(Int32)

指定した属性が入力に含まれていない場合に XML で宣言された場合に返します。

Next()

次の解析イベントを取得する - 要素コンテンツは結合され、要素コンテンツ全体に対して 1 つの TEXT イベントのみを返す必要があります (コメントと処理命令は無視され、エンティティ参照を展開するか、エンティティ参照を展開できない場合は例外をスローする必要があります)。

NextTag()

next() を呼び出し、イベントがSTART_TAG場合はイベントを返すか、それ以外の場合は例外をスロー END_TAG。

NextText()

現在のイベントがSTART_TAG場合、次の要素が TEXT の場合、要素の内容が返されるか、次のイベントがEND_TAG場合は空の文字列が返されます。それ以外の場合は例外がスローされます。

NextToken()

このメソッドは next() と同様に動作しますが、追加のイベントの種類 (COMMENT、CDSECT、DOCDECL、ENTITY_REF、PROCESSING_INSTRUCTION、またはIGNORABLE_WHITESPACE) が入力で使用可能な場合は公開されます。

Require(XmlPullParserNode, String, String)

現在のイベントが指定された型であるかどうかをテストし、名前空間と名前が一致するかどうかをテストします。

SetFeature(String, Boolean)

この呼び出しを使用して、名前空間処理や doctype 宣言処理など、パーサーの一般的な動作を変更します。

SetInput(Reader)

パーサーの入力ソースを特定のリーダーに設定し、パーサーをリセットします。

SetInput(Stream, String)

パーサーが処理する入力ストリームを設定します。

SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
SetProperty(String, Object)

プロパティの値を設定します。

UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

NextAsync(IXmlPullParser)

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

NextTagAsync(IXmlPullParser)

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

NextTextAsync(IXmlPullParser)

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

NextTokenAsync(IXmlPullParser)

XML プル パーサーは、 XMLPULL V1 API で提供される解析機能を定義するインターフェイスです (API とその実装の詳細については、この Web サイトを参照してください)。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象