解析Android中的本地gpx文件

use*_*377 6 android gpx xml-parsing

我按照此示例解析Android中的本地GPX文件:http: //android-coding.blogspot.pt/2013/01/get-latitude-and-longitude-from-gpx-file.html

一切正常,可以访问"lat"和"long",但我还需要获得"ele"值,但我所有的试验都没有成功.任何人都可以给我一些命中率吗?

提前致谢!最好的问候,NR.

tic*_*fab 5

我将针对GPX解析的库添加到以下答案:https : //github.com/ticofab/android-gpx-parser。它提供了两种解析GPX文件的方法:获取/创建GPXParser对象(mParser在下面的示例中)后,您可以直接解析GPX文件

Gpx parsedGpx = null;
try {
    InputStream in = getAssets().open("test.gpx");
    parsedGpx = mParser.parse(in);
} catch (IOException | XmlPullParserException e) {
    e.printStackTrace();
}
if (parsedGpx == null) {
    // error parsing track
} else {
    // do something with the parsed track
}
Run Code Online (Sandbox Code Playgroud)

或者您可以解析一个远程文件:

mParser.parse("http://myserver.com/track.gpx", new GpxFetchedAndParsed() {
    @Override
    public void onGpxFetchedAndParsed(Gpx gpx) {
        if (gpx == null) {
            // error parsing track
        } else {
            // do something with the parsed track
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

欢迎捐款。


goo*_*ojr 4

你有“Node node = nodelist_trkpt.item(i);” 在你的第一个循环中。从该节点获取子元素并遍历这些子元素。

例如:

NodeList nList = node.getChildNodes();
for(int j=0; j<nList.getLength(); j++) {
    Node el = nList.item(j);
    if(el.getNodeName().equals("ele")) {
     System.out.println(el.getTextContent());
  }
}
Run Code Online (Sandbox Code Playgroud)