【发布时间】: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