【发布时间】:2014-05-14 08:00:09
【问题描述】:
我在 android 中解析 XML 时遇到了困难。我有以下 XML
<iq xmlns="jabber:client" type="result" to="blob@faisal-system/68bb97e7">
<album xmlns="naseebalbum">
<albumpicture>
<title>day1</title>
<creationdate>1397502000000</creationdate>
<picture>BASE64EncodedStringOfImage</picture>
</albumpicture>
<comments>
<comment>
<commentid>1</commentid>
<username>sana</username>
<text>i loved that pic</text>
<commenttime>1398264140000</commenttime>
</comment>
</comments>
<likes>
<like>
<likeid>4</likeid>
<username>sana</username>
<liketime>1398250919000</liketime>
</like>
</likes>
</album>
</iq>
谁能帮我解决这个问题?
我想从 Likes 标签 cmets 标签 title 标签和图片标签中获取数据。
这就是我一直在尝试做的事情。
public IQ parseIQ(XmlPullParser parser) throws Exception {
// TODO Auto-generated method stub
payload=""+parser.getText();
StringBuilder sb = new StringBuilder();
int depth = 1;
while (depth != 0) {
switch (parser.next()) {
case XmlPullParser.END_TAG:
depth--;
if (depth > 0) {
sb.append("</" + parser.getName() + ">");
}
break;
case XmlPullParser.START_TAG:
depth++;
StringBuilder attrs = new StringBuilder();
for (int i = 0; i < parser.getAttributeCount(); i++) {
attrs.append(parser.getAttributeName(i) + "=\""
+ parser.getAttributeValue(i) + "\" ");
}
sb.append("<" + parser.getName() + " " + attrs.toString() + ">");
break;
default:
sb.append(parser.getText());
break;
}
}
payload = sb.toString();
iq=new CustomIQ(payload);
iq.setType(Type.RESULT);
return iq;
}
【问题讨论】:
-
你查看我的帖子了吗?工作吗?
-
是的,我检查了它。它非常有帮助,+1 但它不能帮助我完全解决我的问题。
-
问题对你有用吗?
-
实际上,我现在已经停止了解析工作,几天后会重新解析,然后我会完全应用你的方法,然后我们会看看它是否完全工作.
-
不着急慢慢来
标签: android xml android-xmlpullparser