Я пытаюсь разобрать файл GPX. Я пробовал это с JDOM, но это не очень хорошо работает.
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(filename);
Element root = document.getRootElement();
System.out.println("Root:\t" + root.getName());
List<Element> listTrks = root.getChildren("trk");
System.out.println("Count trk:\t" + listTrks.size());
for (Element tmpTrk : listTrks) {
List<Element> listTrkpts = tmpTrk.getChildren("trkpt");
System.out.println("Count pts:\t" + listTrkpts.size());
for (Element tmpTrkpt : listTrkpts) {
System.out.println(tmpTrkpt.getAttributeValue("lat") + ":" + tmpTrkpt.getAttributeValue("lat"));
}
}
Я открыл файл примера (CC-BY-SA OpenStreetMap) и выводит:
Корень: gpx
Количество трк: 0
Что я могу сделать? Должен ли я использовать SAXParserFactory (javax.xml.parsers.SAXParserFactory
) и реализовать класс Handler?