Freigeben über


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: <ol><li>< 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 vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: