1

私の XML は

<ValidateUser>

     <userName>admin</userName>

     <password>admin</password>
 </ValidateUser>

私の主な活動は

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try{
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(true);
        XmlPullParser parser = factory.newPullParser();                     
        InputStream input = getResources().openRawResource(R.raw.temp);
        parser.setInput(input,null);     
        int eventType = parser.getEventType();
        while(eventType != XmlPullParser.END_DOCUMENT){             
            if(eventType == XmlPullParser.START_DOCUMENT){ 
                String prefix = parser.getPrefix();
                String name   = parser.getName();
                Log.i("XML", String.format("prefix=%s,name=%s",prefix,name));

            }

            eventType = parser.next();
        }
    } catch (Exception e) {
        Log.e("XML","",e);
    }  

}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

私のPOJOクラス..

public class UserClass {

    public String username;
    public String password;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

}

私はまだタグ名とプレフィックスをnullとして取得しています....以前はXMLに名前空間が含まれていましたが、削除しました.xmlはresフォルダー内のrawフォルダーに存在します

4

1 に答える 1

1

ここでは POJO クラスの必要性がわかりません。タグを解析しておらず、POJO クラスをどこにも使用していません。

より詳しい情報 @

http://developer.android.com/training/basics/network-ops/xml.html

ドキュメントに従おうとしている場合は、トピック umder Parse XML を確認してください

以下のようなxmlがあるとします

<?xml version="1.0" encoding="utf-8"?>
<ValidateUser>
     <userName>admin</userName>
     <password>admin</password>
</ValidateUser>

それで

 InputStream open = ActivityName.this.getAssets().open("xmlname.xml");

raw フォルダーに xm がある場合

 InputStream open = getResources().openRawResource(R.raw.temp); 

それで

 XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        XmlPullParser xpp = factory.newPullParser();

        xpp.setInput(open, "UTF_8");

        boolean insideItem = false;
        // Returns the type of current event: START_TAG, END_TAG, etc..
        int eventType = xpp.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            if (eventType == XmlPullParser.START_TAG) {

                if (xpp.getName().equalsIgnoreCase("ValidateUser")) {
                    insideItem = true;
                } else if (xpp.getName().equalsIgnoreCase("userName")) {
                    if (insideItem)
                        Log.i("....",xpp.nextText()); // extract the
                                                        // userName
                } else if (xpp.getName().equalsIgnoreCase("password")) {
                    if (insideItem)
                        Log.i("....",xpp.nextText());  // extract the passwrod

                }
            } else if (eventType == XmlPullParser.END_TAG
                    && xpp.getName().equalsIgnoreCase("ValidateUser")) {
                insideItem = false;
            }

            eventType = xpp.next(); // move to next element
        }

ログ

08-24 14:45:17.888: I/....(1108): admin
08-24 14:45:17.888: I/....(1108): admin
于 2013-08-24T14:48:20.433 に答える