【发布时间】:2013-07-03 17:30:00
【问题描述】:
我看过this。所以请不要将我重定向到那个网站。
我已经使用过 DOM 解析器,here 是我的问题。
我有相同的 XML:
<MyResource>
<Item>First</Item>
<Item>Second</Item>
</MyResource>
现在我只能通过 PullParser 解析这个 XML。 我的方法取自this:
private List readFeed(XmlPullParser parser) throws XmlPullParserException, IOException {
// TODO Auto-generated method stub
List entries = new ArrayList();
parser.require(XmlPullParser.START_TAG, ns, "MyResource");
while (parser.next() != XmlPullParser.END_TAG) {
if (parser.getEventType() != XmlPullParser.START_TAG) {
continue;
}
String name = parser.getName();
// Starts by looking for the entry tag
if (name.equals("MyResource")) {
entries.add(readEntry(parser));
} else {
skip(parser);
}
}
return entries;
}
private void skip(XmlPullParser parser) throws XmlPullParserException, IOException {
// TODO Auto-generated method stub
if (parser.getEventType() != XmlPullParser.START_TAG) {
throw new IllegalStateException();
}
int depth = 1;
while (depth != 0) {
switch (parser.next()) {
case XmlPullParser.END_TAG:
depth--;
break;
case XmlPullParser.START_TAG:
depth++;
break;
}
}
}
private Item readEntry(XmlPullParser parser) throws XmlPullParserException, IOException {
// TODO Auto-generated method stub
parser.require(XmlPullParser.START_TAG, ns, "Item");
String text = null;
while (parser.next() != XmlPullParser.END_TAG) {
if (parser.getEventType() != XmlPullParser.START_TAG) {
continue;
}
String name = parser.getName();
if (name.equals("Item")) {
text = readMyText(parser);
} else {
skip(parser);
}
}
return new Item(text);
}
private String readMyText(XmlPullParser parser) throws XmlPullParserException, IOException {
// TODO Auto-generated method stub
parser.require(XmlPullParser.START_TAG, ns, "Item");
String text = readText(parser);
parser.require(XmlPullParser.END_TAG, ns, "Item");
return text;
}
private String readText(XmlPullParser parser) throws XmlPullParserException, IOException {
String result = "";
if (parser.next() == XmlPullParser.TEXT) {
result = parser.getText();
parser.nextTag();
}
return result;
}
我得到这个作为解析文本:
null
null
谁能帮我解决这个问题??
【问题讨论】:
-
发布您的 java 代码,以便我们更好地帮助您。
-
developer.android.com/training/basics/network-ops/xml.html 它取自这里。所以我认为你不需要我的 java 代码,因为我已经给出了我的 xml 和我使用过的代码。
-
@prasharonnet 所以你去...现在让我们看看你能多快回答...
标签: android xml-parsing android-pullparser