【问题标题】:XmlPullParser xpp.getName() returning nullXmlPullParser xpp.getName() 返回 null
【发布时间】:2015-11-20 22:25:21
【问题描述】:

我已经阅读了大部分似乎相同但我没有看到的错误。我下面的代码假设只使用我请求的项目,但我什么也没得到。我注释掉的底部的行将填充 myXML,但我的 if 代码被忽略。我使用下面的名称字段,以为可以将其设置为标志,但这不起作用。我试过 xpp.getName().equalsIgnoreCase("summary"),也没有运气。我的 XML 来自这里http://maps.googleapis.com/maps/api/directions/xml?origin=Toronto&destination=Montreal&sensor=false

while (eventType != XmlPullParser.END_DOCUMENT) {
                String name = xpp.getName();
                if(eventType == XmlPullParser.START_DOCUMENT) {
                    System.out.println("Start document");
                    name = xpp.getName();
                } else if(eventType == XmlPullParser.START_TAG) {
                    System.out.println("Start tag " + xpp.getName());
                    name = xpp.getName();
                } else if(eventType == XmlPullParser.END_TAG) {
                    System.out.println("End tag " + xpp.getName());
                } else if (eventType == XmlPullParser.TEXT)
                    name = xpp.getName();
                {
                    System.out.println("Text " + xpp.getText());
                    if (name == "summary") { myXML = myXML + xpp.getText() + "\n"; }
                    if (name == "duration") { myXML = myXML + "Duration:" + " "; }
                    if (name == "distance") { myXML = myXML + "Distance:" + " "; }
                    if (name == "value") { myXML = myXML + xpp.getText() + " "; }
                    if (name == "text") { myXML = myXML + xpp.getText() + "\n"; }
                    if (name == "html_instructions") { myXML = myXML + xpp.getText() + "\n"; }
                    if (name == "maneuver") { myXML = myXML + xpp.getText() + "\n"; }

                    //myXML = myXML + xpp.getText() + "\n";

                }
                try {
                    eventType = xpp.next();
                } catch (XmlPullParserException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("End document");


            return myXML;
}

【问题讨论】:

    标签: java android performance xml-parsing


    【解决方案1】:

    我煞费苦心地发现,我对开始标签的检查需要在开始标签的 if else 中。那时我能够继续前进。

    【讨论】:

      猜你喜欢
      • 2013-12-11
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多