有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android XmlPullParser返回null+属性检索查询

我试图做的是解析一个XML格式的字符串来检索某些值。查看了多个XmlPullParser指南后,我认为代码应该是正确的,但它似乎没有正确地查看字符串,并且运行了toast消息以查看事件类型,结果返回null

通过正确的方式查看字符串,我想知道当值是开始标记的一部分时,如何检索我想要的两个值,并在代码中的何处注释了我应该这样做

Xml字符串如下所示

<?xml version="1.0" encoding="UTF-8"><user-name>Bill</user-name><date>ISO 8601 format date</date><trk><name>Run One</name><trkseg><trkpt lat="47" lon="-122"><ele>5</ele><time>2007-10-21T11:23:29</time></trkpt></trkseg>

以下是代码:

 try {
            routeParse(routeInfo);
            } catch (XmlPullParserException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

    public void routeParse(String routeInfo) throws XmlPullParserException, IOException {
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            XmlPullParser xpp = factory.newPullParser();
            xpp.setInput(new StringReader(routeInfo));      
            int eventType = xpp.getEventType();

            while (eventType!=XmlPullParser.END_DOCUMENT) {
                if (xpp.getEventType() == XmlPullParser.START_TAG) {
                    // If tag is trkpt get attribute value lat and lon
                }
                eventType = xpp.next();
            }
        }

谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    正如您所看到的,标记trk不是以XML结尾的