IXmlPullParser.NextText Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Se o evento atual for START_TAG se o próximo elemento for TEXT, o conteúdo do elemento será retornado ou, se o próximo evento for END_TAG, a cadeia de caracteres vazia será retornada, caso contrário, a exceção será lançada.
[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
Retornos
- Atributos
Exceções
Comentários
Se o evento atual for START_TAG se o próximo elemento for TEXT, o conteúdo do elemento será retornado ou, se o próximo evento for END_TAG, a cadeia de caracteres vazia será retornada, caso contrário, a exceção será lançada. Depois de chamar esta função com êxito, o analisador será posicionado em END_TAG.
A motivação para esta função é permitir analisar consistentemente tanto elementos vazios quanto elementos que tem conteúdo não vazio, por exemplo, para entrada: <ol><li>< Etiqueta> foo <li>< Etiqueta> (que é equivalente a < etiqueta/> ambas as entradas podem ser analisadas com o mesmo código:
p.nextTag()
p.requireEvent(p.START_TAG, "", "tag");
String content = p.nextText();
p.requireEvent(p.END_TAG, "", "tag");
Essa função, juntamente com o nextTag, facilita muito a análise de XML que não tem conteúdo misto.
Essencialmente, ele faz isso
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>Aviso:</strong> Antes do nível 14 da API, o analisador pull retornado por android.util.Xml
nem sempre avançava para o evento END_TAG quando esse método era chamado. Solução alternativa usando o avanço manual após chamadas para nextText():
String text = xpp.nextText();
if (xpp.getEventType() != XmlPullParser.END_TAG) {
xpp.next();
}
Documentação Java para org.xmlpull.v1.XmlPullParser.nextText()
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.