0

解析しようとしている次のタイプの XML があります。

XmlToBeParsed

解析に使用しているコードは次のとおりです。

parser.nextTag();
parser.require(XmlPullParser.START_TAG, null, "feed");

while(parser.nextTag() == XmlPullParser.START_TAG) {
    parser.require(XmlPullParser.START_TAG, null, "item");
    System.out.println(parser.getName());
    parser.require(XmlPullParser.END_TAG, null, "item");
}

誰かが私が間違っていることを教えてもらえますか? 私が得ているエラーは XmlPullParserException の予期しない型の位置です: TEXT SORIN

4

2 に答える 2

1

あなたは開始itemタグにいます。item終了タグに移動する必要があります。それ以外の場合、 requireは例外をスローする終了タグを持つタグparser.nextTag();間の TEXT を一致させようとします。itemitem

parser.nextTag();
parser.require(XmlPullParser.START_TAG, null, "feed");

while(parser.nextTag() == XmlPullParser.START_TAG) {

    parser.require(XmlPullParser.START_TAG, null, "item");
    System.out.println(parser.getName());
    parser.nextTag();
    parser.require(XmlPullParser.END_TAG, null, "item");
}
于 2012-09-21T09:58:30.897 に答える
0

parser.getName()現在のタグの名前が表示されます (例: "item")。現在のタグのテキスト コンテンツが必要です。

System.out.println(parser.getName());に変更

parser.require(XmlPullParser.TEXT);
System.out.println(parser.getText());

テキストがないため、タグで失敗しatomますが、理解できると思います。atomタグだけを期待しているので、実際にはタグで失敗しますitemが、それは実際の問題ではありませんでした。

于 2012-08-13T11:57:30.383 に答える