Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoXml
    Variant vCarNode
    Handle hoCarNode
    Integer iNumAttr
    Integer iHorsepower
    Integer i
    String sTemp1
    String sTemp2

    Move False To iSuccess

    Get Create (RefClass(cComChilkatXml)) To hoXml
    If (Not(IsComObjectCreated(hoXml))) Begin
        Send CreateComObject of hoXml
    End

    // The sample input XML is available at http://www.chilkatsoft.com/data/car.xml
    Get ComLoadXmlFile Of hoXml "car.xml" To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoXml To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Navigate to the "car" node, which is the 1st child:
    Get ComFirstChild Of hoXml To vCarNode
    If (IsComObject(vCarNode)) Begin
        Get Create (RefClass(cComChilkatXml)) To hoCarNode
        Set pvComObject Of hoCarNode To vCarNode
    End

    // Get the value of the "model" attribute:
    Get ComGetAttrValue Of hoCarNode "model" To sTemp1
    Showln "model = " sTemp1

    // Get the value of the "hp" attribute as an integer:
    Get ComGetAttrValueInt Of hoCarNode "hp" To iHorsepower
    Showln "horsepower = " iHorsepower

    // Iterate over the attributes and show the name/value of each:
    Get ComNumAttributes Of hoCarNode To iNumAttr

    Move 0 To i
    While (i < iNumAttr)
        Get ComGetAttributeName Of hoCarNode i To sTemp1
        Get ComGetAttributeValue Of hoCarNode i To sTemp2
        Showln sTemp1 ": " sTemp2
        Move (i + 1) To i
    Loop

    Send Destroy of hoCarNode


End_Procedure