kxml2解析错误getName和getText返回null并且解析器跳转到下一个?

时间:2011-10-21 13:33:19

标签: android java-me xml-parsing kxml2

<a:GroupList>

 <a:Group><a:Caption>text</a:Caption><a:Id>1</a:Id></a:Group>
 <a:Group><a:Caption>text</a:Caption><a:Id>3</a:Id></a:Group>
 <a:Group><a:Caption>text</a:Caption><a:Id>4</a:Id></a:Group>
 <a:Group><a:Caption>text</a:Caption><a:Id>6</a:Id></a:Group>
 <a:Group><a:Caption>text</a:Caption><a:Id>7</a:Id></a:Group>

 </a:GroupList>

这是我的xml部分。首先,getname返回Caption后返回groupList。为什么id跳转Group,在我得到很多null返回之后......我在J2me和Android上使用了相同的代码。

我的代码很快......

而( 如果 - 开始标记 name = parser.getName(); parser.next();

如果--endtag .. )

 if (name.equals("GetGroupListResult")) {
                    Vector groupList = new Vector();
                    while ((parseEvent = parser.next()) != XmlPullParser.END_DOCUMENT) {
                        if (parseEvent == XmlPullParser.START_TAG) {
                            name = parser.getName();
                            parser.next();
                            String value = parser.getText();
                            System.out.print(name + "  :  " + value);
                            if (name.equals("a:Result")) {
                                int result = -2;
                                if (value.equals("ERROROCCURED")) {
                                    result = 0;
                                } else if (value.equals("SUCCESSFUL")) {
                                    result = 1;
                                }
                                jobj.put("Result", result);
                            } else if (name.equals("a:GroupList")) {
                                GroupCompany group = new GroupCompany();
                                while ((parseEvent = parser.next()) != XmlPullParser.END_DOCUMENT) {
                                    if (parseEvent == XmlPullParser.START_TAG) {
                                        name = parser.getName();
                                        parser.next();
                                        value = parser.getText();
                                        if (name.equals("a:Caption")) {
                                            group.setName(value);
                                        } else if (name.equals("a:Id")) {
                                            group.setId(Integer.parseInt(value));
                                        }
                                    } else if (parseEvent == XmlPullParser.END_TAG) {
                                        name = parser.getName();
                                        if (name.equals("a:GroupList")) {
                                            groupList.addElement(group);
                                            break;
                                        }
                                    }

                                }
                            }
                        } else if (parseEvent == XmlPullParser.END_TAG) {
                            name = parser.getName();
                            if (name.equals("GetGroupListResult")) {
                                XAppParser.groupCompanies = groupList;
                                break;
                            }
                        }
                    }
                }

0 个答案:

没有答案