【问题标题】:Create a base class for xmlpullparser utility in Android在 Android 中为 xmlpullparser 实用程序创建一个基类
【发布时间】: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


【解决方案1】:

使用 xstream

http://x-stream.github.io/download.html

您可以为 xml 定义响应类,只定义对象类或 pojo 类..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    相关资源
    最近更新 更多