IXmlPullParser.NextText 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
如果当前事件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>
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);
}
<强警告:</强>>在 API 级别 14 之前,调用此方法时,返回android.util.Xml
的拉取分析器并不总是前进到 END_TAG 事件。 通过在调用 nextText 后手动推进来解决此问题():
String text = xpp.nextText();
if (xpp.getEventType() != XmlPullParser.END_TAG) {
xpp.next();
}
适用于 . 的 org.xmlpull.v1.XmlPullParser.nextText()
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。