Sample code for 30+ languages & platforms
Visual Basic 6.0

Get XML Attribute Value by Path

See more XML Examples

Demonstrates how to get an attribute value by path.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' The XML used in this example contains the following:
' This example will get the value of the "spay-neuter" attribute for each pig.

' <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>

Dim xml As New ChilkatXml
success = xml.LoadXmlFile("qa_data/xml/twoPigs.xml")

' Use the ChilkatPath method to return the value of a particular attribute at a given path.
' A path ending with "(attributeName)" will return the value for the given attribute.
Dim path As String
path = "herd|species|animal[0]|gender|(spay-neuter)"
Dim attrValue As String
attrValue = xml.ChilkatPath(path)
Debug.Print "1st pig spay-neuter: " & attrValue

path = "herd|species|animal[1]|gender|(spay-neuter)"
attrValue = xml.ChilkatPath(path)
Debug.Print "2nd pig spay-neuter: " & attrValue

' We could also do it like this:
path = "herd|species|animal[i]|gender|(spay-neuter)"
Dim i As Long
i = 0
Do While i < xml.NumChildrenAt("herd|species")
    xml.I = i
    Debug.Print "spay-neuter for pig number " & (i + 1) & ": " & xml.ChilkatPath(path)
    i = i + 1
Loop