Sample code for 30+ languages & platforms
C

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

C
#include <C_CkXml.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkXml xml;
    HCkXml carNode;
    int numAttr;
    int horsepower;
    int i;

    success = FALSE;

    xml = CkXml_Create();

    // The sample input XML is available at http://www.chilkatsoft.com/data/car.xml
    success = CkXml_LoadXmlFile(xml,"car.xml");
    if (success != TRUE) {
        printf("%s\n",CkXml_lastErrorText(xml));
        CkXml_Dispose(xml);
        return;
    }

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

    // Get the value of the "model" attribute:
    printf("model = %s\n",CkXml_getAttrValue(carNode,"model"));

    // Get the value of the "hp" attribute as an integer:
    horsepower = CkXml_GetAttrValueInt(carNode,"hp");
    printf("horsepower = %d\n",horsepower);

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

    i = 0;
    while (i < numAttr) {
        printf("%s: %s\n",CkXml_getAttributeName(carNode,i),CkXml_getAttributeValue(carNode,i));
        i = i + 1;
    }

    CkXml_Dispose(carNode);


    CkXml_Dispose(xml);

    }