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に配置されます。
この関数の動機は、空の要素と空でないコンテンツを含む要素の両方を一貫して解析できるようにすることです(例:
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();
}
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。