XMLPullParser没有返回正确的AttributeCount值

时间:2014-02-11 07:13:34

标签: android xml-parsing xmlpullparser

我试图在android中使用XMLPullParser解析一些XML内容,但我陷入了困境。 这是XML代码段:

<admin2 type="ABC" code="123" id="123">ABCD</admin2>

这是我的代码:

 int eventType = parser.getEventType();
                    while (eventType != XmlPullParser.END_DOCUMENT){
                        String tagName=parser.getName();

                        switch (eventType){
                            case XmlPullParser.START_TAG:
                                break;


                            case XmlPullParser.END_TAG:
                                if(tagName.startsWith("admin")){
                                     //expected 3.. but I am getting as -1
                                     String ID=parser.getAttributeCount();
                                }
              }

我希望ID的值为3,但我得它为-1。其余的代码似乎工作正常。任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:1)

public abstract int getAttributeCount ()
  

在API级别1中添加

     

返回当前开始标记的属性数,如果当前事件类型不是START_TAG则返回-1

基本上你可以在START_TAG内使用它。当您在END_TAG内使用它时,您收到-1值是合乎逻辑的。