IXmlPullParser.NextText メソッド

定義

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

[Android.Runtime.Register("nextText", "()Ljava/lang/String;", "GetNextTextHandler:Org.XmlPull.V1.IXmlPullParserInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public string? NextText ();
[<Android.Runtime.Register("nextText", "()Ljava/lang/String;", "GetNextTextHandler:Org.XmlPull.V1.IXmlPullParserInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member NextText : unit -> string

戻り値

属性

例外

注釈

現在のイベントがSTART_TAG場合、次の要素が TEXT の場合、要素の内容が返されるか、次のイベントがEND_TAG場合は空の文字列が返されます。それ以外の場合は例外がスローされます。 この関数を正常に呼び出すと、パーサーはEND_TAGに配置されます。

この関数の動機は、空の要素と空でないコンテンツを持つ要素の両方を一貫して解析できるようにすることです(例: <ol><li>foo <li>>/tag>(これは < と同じです。tag/>両方の入力を同じコードで解析できます。

p.nextTag()
              p.requireEvent(p.START_TAG, "", "tag");
              String content = p.nextText();
              p.requireEvent(p.END_TAG, "", "tag");

この関数と nextTag を組み合わせることで、コンテンツが混在していない XML を非常に簡単に解析できます。

基本的にこれを行います

if(getEventType() != START_TAG) {
                throw new XmlPullParserException(
                  "parser must be on START_TAG to read next text", this, null);
             }
             int eventType = next();
             if(eventType == TEXT) {
                String result = getText();
                eventType = next();
                if(eventType != END_TAG) {
                  throw new XmlPullParserException(
                     "event TEXT it must be immediately followed by END_TAG", this, null);
                 }
                 return result;
             } else if(eventType == END_TAG) {
                return "";
             } else {
                throw new XmlPullParserException(
                  "parser must be on START_TAG or TEXT to read text", this, null);
             }

<strong>Warning:</strong> API レベル 14 より前では、このメソッドが呼び出されたときに、返された android.util.Xml プル パーサーが常に END_TAG イベントに進んだとは限りません。 nextText() の呼び出し後に手動で進めることによって回避します。

String text = xpp.nextText();
             if (xpp.getEventType() != XmlPullParser.END_TAG) {
                 xpp.next();
             }

の Java ドキュメントorg.xmlpull.v1.XmlPullParser.nextText()

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象