In his reply to you I think Alex is suggesting you use the handlers that come with the Datagrid. These can convert xml to a LC array. You might find it easier just to deal with a familair data structure rather than learn XML.
I found them here: http://revonline2.runrev.com/stack/571/XMLAndArrays But the handlers are also to be found inside the datagrid library in the IDE (I suspect they are more up to date). On Sun, Oct 25, 2020 at 5:22 PM Graham Samuel via use-livecode < use-livecode@lists.runrev.com> wrote: > I feel stupid, but even with Sarah Reichelt’s help, there are very very > simple things I can’t do with the LC XML functions. My current problem is > this: > > I have a series of XML files which are in fact .gpx files - a collection > of GPS coordinates representing a route on the Earth’s surface. There are > thousands of files around which I can use as test data, so I don’t have to > roll my own. Taking just one of these examples, I can do the following in LC > > 1. Get the user to find the file and download it > > 2. Check it’s a .gpx file > > 3. Turn it into an LC XML data structure with an integer ID > > 4. Find out how many child nodes there are. > > Then it all goes wrong, because I don’t seem to be able to address the > individual nodes. This is obviously needed for further progress, in > functions like revXMLFirstChild and revXMLNodeContents. > > I just don’t know what format to use. Sarah’s tutorial doesn’t help > because her data structure is too simplified. > > If you’re still with me, this is what the beginning of a typical file > looks like: > > > <?xml version="1.0" encoding="UTF-8"?> > > <gpx xmlns="http://www.topografix.com/GPX/1/1" creator="Digital Crow" > version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.topografix.com/GPX/1/1 > http://www.topografix.com/GPX/1/1/gpx.xsd"> > > <metadata /> > > <trk> > > <trkseg> > > > <trkpt lat="43.319729" lon="2.128369"> > > <ele>169.623637</ele> </trkpt> > > > <trkpt lat="43.319731" lon="2.128375"> > > <ele>169.744722</ele> </trkpt> > > > <trkpt lat="43.319731" lon="2.128375"> > > <ele>169.744722</ele> </trkpt> > > > <trkpt lat="43.319731" lon="2.128388"> > > <ele>169.266626</ele> </trkpt> > > > etc - there may sometimes be thousands of these “trkpt” elements. > > So, suppose I want to get the first instance of the “lon” attribute into a > local variable. How do I address the first <trk> node etc in order to do > it? I have attempted various common-sense methods, but none work. > > This must be child’s play to a lot of people, just not me. > > Hoping for some guidance. > > Graham > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode