Visual FoxPro
Visual FoxPro
Traverse the XML Tree
See more XML Examples
Demonstrates how to traverse all nodes in an XML tree.Note: This example requires Chilkat v9.5.0.77 or greater.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loXml
LOCAL loSbState
lnSuccess = 0
* Use the NextInTraversal2 method to traverse all nodes in the XML tree rooted at the caller.
loXml = CreateObject('Chilkat.Xml')
lnSuccess = loXml.LoadXmlFile("qa_data/xml/twoPigs.xml")
* This is the XML traversed in this example:
* <pig-rescue>
* <herd name="Cathy">
* <species name="pot belly pig">
* <animal>
* <name>Molly II</name>
* <birth>February, 1998</birth>
* <in-date>January, 2000</in-date>
* <from>Middle Ave.</from>
* <gender spay-neuter="yes">F</gender>
* <info>Molly came from a place where an old, ill man had too many animals.
* The animals were seldom fed and rats would eat the newborn piglets.
* When Molly was found at one week old, she was the only piglet of
* her siblings who did not get stepped on by a cow. She is a sweet,
* friendly pig who likes to hang out on Cathy's porch on the lounge
* pad.
* </info>
* </animal>
* <animal>
* <name>Nigel</name>
* <birth>June, 1991</birth>
* <in-date>August, 1991</in-date>
* <from>Breeder</from>
* <gender spay-neuter="no">M</gender>
* <info>
* Nigel was the first pig and the reason for the rescue in the
* first place. He is 13 now and doing well, but takes a number
* of medications, as you can see below.
* </info>
* </animal>
* </species>
* </herd>
* </pig-rescue>
* The sbState is an object used to keep track of the current state of the traversal.
loSbState = CreateObject('Chilkat.StringBuilder')
DO WHILE loXml.NextInTraversal2(loSbState) <> 0
? loXml.Tag
? loXml.TagPath
? ""
ENDDO
* Produces the following output:
* herd
* herd
*
* species
* herd|species
*
* animal
* herd|species|animal[0]
*
* name
* herd|species|animal[0]|name
*
* birth
* herd|species|animal[0]|birth
*
* in-date
* herd|species|animal[0]|in-date
*
* from
* herd|species|animal[0]|from
*
* gender
* herd|species|animal[0]|gender
*
* info
* herd|species|animal[0]|info
*
* animal
* herd|species|animal[1]
*
* name
* herd|species|animal[1]|name
*
* birth
* herd|species|animal[1]|birth
*
* in-date
* herd|species|animal[1]|in-date
*
* from
* herd|species|animal[1]|from
*
* gender
* herd|species|animal[1]|gender
*
* info
* herd|species|animal[1]|info
*
RELEASE loXml
RELEASE loSbState