Partager via


IXmlPullParser.NextText Méthode

Définition

Si l’événement actuel est START_TAG, si l’élément suivant est TEXT, le contenu de l’élément est retourné ou si l’événement suivant est END_TAG la chaîne vide est retournée, sinon l’exception est levée.

[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

Retours

Attributs

Exceptions

Remarques

Si l’événement actuel est START_TAG, si l’élément suivant est TEXT, le contenu de l’élément est retourné ou si l’événement suivant est END_TAG la chaîne vide est retournée, sinon l’exception est levée. Après avoir appelé cette fonction, l’analyseur est positionné sur END_TAG.

La motivation de cette fonction est de permettre d’analyser de manière cohérente à la fois les éléments vides et les éléments qui ont du contenu non vide, par exemple pour l’entrée : <ol><li>< tag> foo <li>< tag> (qui équivaut à < tag/> Les deux entrées peuvent être analysées avec le même code :

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

Cette fonction avec nextTag facilite l’analyse du code XML qui n’a pas de contenu mixte.

Essentiellement, il fait cela

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

<>fort Avertissement :</forte> avant le niveau d’API 14, l’analyseur d’extraction retourné par android.util.Xml n’a pas toujours avancé vers l’événement de END_TAG lorsque cette méthode a été appelée. Contourner en utilisant l’avancement manuel après les appels à nextText() :

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

Documentation Java pour org.xmlpull.v1.XmlPullParser.nextText().

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à