Sample code for 30+ languages & platforms
Unicode C++

AddAttribute - Insert New Attribute in an XML Node

Demonstrates adding an name=value attribute to an XML element.

This example uses the XML sample file here: sample1.xml. The sample1.xml file contains this content:

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkXmlW.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkXmlW xml;

    success = xml.LoadXmlFile(L"qa_data/xml/sample1.xml");
    if (success != true) {
        wprintf(L"%s\n",xml.lastErrorText());
        return;
    }

    //  Navigate to the "books" element:
    bool bFound = xml.FindChild2(L"books");
    if (bFound == false) {
        wprintf(L"No books child found!\n");
        return;
    }

    int numChildren = xml.get_NumChildren();

    int i = 0;
    while (i < numChildren) {

        //  Navigate to the Nth book 
        xml.GetChild2(i);

        //  Display the book title:
        wprintf(L"%s\n",xml.getAttrValue(L"title"));

        //  Add a new integer attribute:
        //  Should never fail..
        xml.AddAttributeInt(L"bookId",i);

        //  Add a new unread="yes" attribute:
        xml.AddAttribute(L"unread",L"yes");

        //  Navigate back up to the parent:
        xml.GetParent2();

        i = i + 1;
    }

    //  Navigate back to the document root:
    xml.GetRoot2();

    //  Save the updated document:
    success = xml.SaveXml(L"modified.xml");
    if (success != true) {
        wprintf(L"%s\n",xml.lastErrorText());
        return;
    }

    wprintf(L"%s\n",xml.getXml());
    }