Sprache

IXmlPullParser.NextText Methode

Definition

Wenn das aktuelle Ereignis START_TAG ist, wird der Inhalt des nächsten Elements zurückgegeben, oder wenn das nächste Ereignis END_TAG, wird leere Zeichenfolge zurückgegeben, andernfalls wird eine Ausnahme ausgelöst.

[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

Gibt zurück

Attribute

Ausnahmen

Hinweise

Wenn das aktuelle Ereignis START_TAG ist, wird der Inhalt des nächsten Elements zurückgegeben, oder wenn das nächste Ereignis END_TAG, wird leere Zeichenfolge zurückgegeben, andernfalls wird eine Ausnahme ausgelöst. Nach dem erfolgreichen Aufruf dieser Funktion wird der Parser auf END_TAG positioniert.

Die Motivation für diese Funktion besteht darin, sowohl leere Elemente als auch Elemente, die nicht leere Inhalte enthalten, zu analysieren, z. B. für Eingabe: olli< tag> foo li< tag> (entspricht < tag/> beide Eingaben können mit demselben Code analysiert werden:

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

Diese Funktion zusammen mit nextTag erleichtert die Analyse von XML ohne gemischten Inhalt.

Im Wesentlichen geschieht dies

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);
             }

<starke>Warnung:</strong> Vor API-Ebene 14 hat der von der Pullparser zurückgegebene android.util.Xml Pullparser nicht immer zum END_TAG-Ereignis gewechselt, wenn diese Methode aufgerufen wurde. Arbeiten Sie durch manuelles Weiterkommen nach Aufrufen von nextText():

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

Java Dokumentation für org.xmlpull.v1.XmlPullParser.nextText().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: