在Android中为xmlpullparser实用程序创建基类

在Android中为xmlpullparser实用程序创建基类,android,xml,base-class,xmlpullparser,Android,Xml,Base Class,Xmlpullparser,我在使用Android的xmlpullparser API解析XML时遇到一些问题 问题:我在Android类中有很多重复,比如Activity或xml解析器的一些业务类,但都是一样的 必需:xmlpullparser的某个基类或util,用于在同一个类中进行所有解析;我只需要向他发送XML或Web服务的URL,如果有,我会得到值和一些UTIL 这是我在课堂上学到的: int count = 0; try { srv = new URL(

我在使用Android的xmlpullparser API解析XML时遇到一些问题

问题:我在Android类中有很多重复,比如Activity或xml解析器的一些业务类,但都是一样的

必需:xmlpullparser的某个基类或util,用于在同一个类中进行所有解析;我只需要向他发送XML或Web服务的URL,如果有,我会得到值和一些UTIL

这是我在课堂上学到的:

       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();
    }
此代码重复;只要换一下标签。有什么想法吗?

使用xstream


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

你找到解决办法了吗?如果没有,请详细说明您的要求。