C
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
#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);
}