1

我的 XMLis

<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 回答