【发布时间】:2012-12-10 16:40:18
【问题描述】:
我在使用 xmlpullparser API for Android 解析 XML 时遇到了一些问题。
问题:我在 Activity 等 Android 类或 xml 解析器的一些业务类中有很多重复,但都是一样的!
必需: xmlpullparser 的一些基类或实用程序,以便在同一个类中进行所有解析;我只需要将 XML 或 WebService 的 URL 发送给他,如果有的话,我会得到值和一些实用程序。
这是我在课堂上的:
int count = 0;
try {
srv = new URL(
"URL Web Service");
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
xpp = factory.newPullParser();
xpp.setInput(XMLUtility.getInputStream(srv), "UTF_8");
insideItem = false;
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
if (xpp.getName().equalsIgnoreCase(tag)) {
insideItem = true;
} else if (xpp.getName().equalsIgnoreCase(SId)) {
if (insideItem)
id.add(xpp.nextText()); // extract the headline
} else if (xpp.getName().equalsIgnoreCase(SEn)) {
if (insideItem)
enable.add(xpp.nextText());
}
} else if (eventType == XmlPullParser.END_TAG
&& xpp.getName().equalsIgnoreCase(tag)) {
insideItem = false;
checkEnable.add(id.get(count) + "," + enable.get(count));
count++;
}
eventType = xpp.next();
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
此代码重复;只需更改标签。有什么想法吗?
【问题讨论】:
-
您找到解决方案了吗?如果没有,请详细说明您的要求。
标签: android xml base-class xmlpullparser