IXmlPullParser.NextText Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Если текущее событие START_TAG, то если следующий элемент — TEXT, возвращается содержимое элемента или если следующее событие END_TAG возвращается пустая строка, в противном случае возникает исключение.
[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
Возвращаемое значение
- Атрибуты
Исключения
Комментарии
Если текущее событие START_TAG, то если следующий элемент — TEXT, возвращается содержимое элемента или если следующее событие END_TAG возвращается пустая строка, в противном случае возникает исключение. После успешного вызова этой функции синтаксический анализ будет размещен на END_TAG.
Мотивация этой функции заключается в том, чтобы разрешить синтаксический анализ как пустых элементов, так и элементов с непустым содержимым, например для входных данных: <ol><li>< tag> foo <li>< tag> (эквивалентно < tag/> оба входных данных можно проанализировать с одинаковым кодом:
p.nextTag()
p.requireEvent(p.START_TAG, "", "tag");
String content = p.nextText();
p.requireEvent(p.END_TAG, "", "tag");
Эта функция вместе с nextTag упрощает синтаксический анализ XML, который не содержит смешанного содержимого.
По сути, это делает
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>Warning:</strong> До уровня API 14 средство синтаксического анализа по запросу, возвращаемое android.util.Xml
не всегда до события END_TAG при вызове этого метода. Работа с помощью ручного перехода после вызовов nextText():
String text = xpp.nextText();
if (xpp.getEventType() != XmlPullParser.END_TAG) {
xpp.next();
}
Документация по Java для org.xmlpull.v1.XmlPullParser.nextText()
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.