0

Android 用の xmlpullparser API を使用した 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();
    }

このコードは重複しています。タグだけ変える。何か案は?

4

1 に答える 1