IXmlPullParser.NextText Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Se l'evento corrente è START_TAG, se l'elemento successivo è TEXT, viene restituito il contenuto dell'elemento o se l'evento successivo è END_TAG viene restituita una stringa vuota, in caso contrario viene generata un'eccezione.
[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
Restituisce
- Attributi
Eccezioni
Commenti
Se l'evento corrente è START_TAG, se l'elemento successivo è TEXT, viene restituito il contenuto dell'elemento o se l'evento successivo è END_TAG viene restituita una stringa vuota, in caso contrario viene generata un'eccezione. Dopo aver chiamato questa funzione, il parser verrà posizionato in END_TAG.
La motivazione di questa funzione consiste nel consentire di analizzare in modo coerente sia elementi vuoti che elementi con contenuto non vuoto, ad esempio per input: <ol><li>< tag> foo <li>< tag> (equivalente a < tag/> entrambi gli input possono essere analizzati con lo stesso codice:
p.nextTag()
p.requireEvent(p.START_TAG, "", "tag");
String content = p.nextText();
p.requireEvent(p.END_TAG, "", "tag");
Questa funzione insieme a nextTag semplifica l'analisi del codice XML senza contenuto misto.
In sostanza, questa operazione viene
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);
}
<>avviso sicuro:</strong> Prima del livello API 14, il parser pull restituito da android.util.Xml
non ha sempre spostato all'evento END_TAG quando questo metodo è stato chiamato. Risolvere il problema usando l'avanzamento manuale dopo le chiamate a nextText():
String text = xpp.nextText();
if (xpp.getEventType() != XmlPullParser.END_TAG) {
xpp.next();
}
Documentazione java per org.xmlpull.v1.XmlPullParser.nextText()
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.