Sample code for 30+ languages & platforms
Objective-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 Objective-C Downloads

Objective-C
#import <CkoXml.h>

BOOL success = NO;

CkoXml *xml = [[CkoXml alloc] init];

success = [xml LoadXmlFile: @"qa_data/xml/sample1.xml"];
if (success != YES) {
    NSLog(@"%@",xml.LastErrorText);
    return;
}

//  Navigate to the "books" element:
BOOL bFound = [xml FindChild2: @"books"];
if (bFound == NO) {
    NSLog(@"%@",@"No books child found!");
    return;
}

int numChildren = [xml.NumChildren intValue];

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

    //  Navigate to the Nth book 
    [xml GetChild2: [NSNumber numberWithInt: i]];

    //  Display the book title:
    NSLog(@"%@",[xml GetAttrValue: @"title"]);

    //  Add a new integer attribute:
    //  Should never fail..
    [xml AddAttributeInt: @"bookId" value: [NSNumber numberWithInt: i]];

    //  Add a new unread="yes" attribute:
    [xml AddAttribute: @"unread" value: @"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: @"modified.xml"];
if (success != YES) {
    NSLog(@"%@",xml.LastErrorText);
    return;
}

NSLog(@"%@",[xml GetXml]);