Sample code for 30+ languages & platforms
PureBasic

Methods for Getting Attributes

See more XML Examples

Demonstrates some methods for getting attribute name/values.

The input XML, available at http://www.chilkatsoft.com/data/car.xml, is this:

<root>
    <car color="black" make="mercedes" model="C350" hp="302" engine="v6" type="sedan">Mercedes Benz C350</car>
</root>

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkXml.pb"

Procedure ChilkatExample()

    success.i = 0

    xml.i = CkXml::ckCreate()
    If xml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    carNode.i
    numAttr.i
    horsepower.i
    i.i

    ; The sample input XML is available at http://www.chilkatsoft.com/data/car.xml
    success = CkXml::ckLoadXmlFile(xml,"car.xml")
    If success <> 1
        Debug CkXml::ckLastErrorText(xml)
        CkXml::ckDispose(xml)
        ProcedureReturn
    EndIf

    ; Navigate to the "car" node, which is the 1st child:
    carNode = CkXml::ckFirstChild(xml)

    ; Get the value of the "model" attribute:
    Debug "model = " + CkXml::ckGetAttrValue(carNode,"model")

    ; Get the value of the "hp" attribute as an integer:
    horsepower = CkXml::ckGetAttrValueInt(carNode,"hp")
    Debug "horsepower = " + Str(horsepower)

    ; Iterate over the attributes and show the name/value of each:
    numAttr = CkXml::ckNumAttributes(carNode)

    i = 0
    While i < numAttr
        Debug CkXml::ckGetAttributeName(carNode,i) + ": " + CkXml::ckGetAttributeValue(carNode,i)
        i = i + 1
    Wend

    CkXml::ckDispose(carNode)



    CkXml::ckDispose(xml)


    ProcedureReturn
EndProcedure