Hello,
Since I'm not getting the subscription e-mails, I can't ask in those tools' forums on Sourceforge.
I tried xidel and XMLStarlet as command line tools to parse XML files and grab everything (elements + text) below given nodes… to no avail: The tools only return the texts it finds, not the elements.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<gpx>
<metadata>
<name>Some name</name>
</metadata>
<trk>
<name>Track 1</name>
<trkseg>
<trkpt lat="48.81782" lon="2.24906">
<ele>37.5</ele>
</trkpt>
<trkpt lat="48.81784" lon="2.24906">
<ele>37.5</ele>
</trkpt>
</trkseg>
</trk>
<trk>
<name>Track 2</name>
<trkseg>
<trkpt lat="48.81782" lon="2.24906">
<ele>37.5</ele>
</trkpt>
<trkpt lat="48.81784" lon="2.24906">
<ele>37.5</ele>
</trkpt>
</trkseg>
</trk>
</gpx>
Code:
xidel -s input.gpx -e "//trk/trkseg/*"
xml sel -t -v "//trk/trkseg/*" input.gpx
Code:
37.5
37.5
37.5
37.5
Am I doing it totally wrong, or are those tools precisely meant to ignore elements themselves?
Thank you.
--
Edit: Yes, indeed. By default, only texts within elements are output.
→
Code:
xidel input.gpx -e "//trkseg/*/outer-xml(.)"