Naive XML questions

Alex Tweedly alex at tweedly.net
Sun Oct 25 14:00:21 EDT 2020


I know nothing about it, so I can feel free to answer:-)

Don’t care about the file format- look at the array format, probably in the IDE/debugger. That’s probably going to let you see how to address the individual nodes.
Alex

Sent from my iPhone

> On 25 Oct 2020, at 17:21, Graham Samuel via use-livecode <use-livecode at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list