Sample code for 30+ languages & platforms
C

Demonstrate the XML UpdateAttrAt Method

See more XML Examples

Demonstrates the XML UpdateAttrAt method to update attribute name/value pairs in XML.

Note: This example requires Chilkat v9.5.0.64 or later.

Chilkat C Downloads

C
#include <C_CkXml.h>

void ChilkatSample(void)
    {
    HCkXml xml;
    BOOL autoCreate;

    // Note: This example requires Chilkat v9.5.0.64 or later.
    xml = CkXml_Create();

    CkXml_putTag(xml,"animals");

    autoCreate = TRUE;

    // When the autoCreate argument equals TRUE, the UpdateAttrAt
    // method auto-creates the children as needed:
    CkXml_UpdateAttrAt(xml,"penguin",autoCreate,"feature","flightless bird");
    CkXml_UpdateAttrAt(xml,"mammal|rodent|squirrel",autoCreate,"feature","bushy tail");
    CkXml_UpdateAttrAt(xml,"mammal|rodent|rat",autoCreate,"feature","long hairless tail");

    // Show the XML
    printf("%s\n",CkXml_getXml(xml));

    // 	<?xml version="1.0" encoding="utf-8" ?>
    // 	<animals>
    // 	    <penguin feature="flightless bird" />
    // 	    <mammal>
    // 	        <rodent>
    // 	            <squirrel feature="bushy tail" />
    // 	            <rat feature="long hairless tail" />
    // 	        </rodent>
    // 	    </mammal>
    // 	</animals>
    // 

    // Now update each node's "feature" attribute..
    CkXml_UpdateAttrAt(xml,"penguin",autoCreate,"feature","black and white");
    CkXml_UpdateAttrAt(xml,"mammal|rodent|squirrel",autoCreate,"feature","grey, red, or black");
    CkXml_UpdateAttrAt(xml,"mammal|rodent|rat",autoCreate,"feature","brown, grey, white, or black");

    printf("%s\n",CkXml_getXml(xml));

    // 	<?xml version="1.0" encoding="utf-8" ?>
    // 	<animals>
    // 	    <penguin feature="black and white" />
    // 	    <mammal>
    // 	        <rodent>
    // 	            <squirrel feature="grey, red, or black" />
    // 	            <rat feature="brown, grey, white, or black" />
    // 	        </rodent>
    // 	    </mammal>
    // 	</animals>
    // 


    CkXml_Dispose(xml);

    }