Sample code for 30+ languages & platforms
PHP

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

Chilkat2 PHP
<?php

use Chilkat2\Xml;

$xml = new Xml();

try {
    $xml->LoadXmlFile('qa_data/xml/sample1.xml');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

// Navigate to the "books" element:
try {
    $xml->FindChild2('books');
} catch (\Chilkat2\Exception $e) {
    echo "No books child found!\n";
    exit;
}

$numChildren = $xml->NumChildren;

$i = 0;
while ($i < $numChildren) {
    // Navigate to the Nth book
    $xml->GetChild2($i);

    // Display the book title:
    echo $xml->GetAttrValue('title'), "\n";

    // Add a new integer attribute:
    // Should never fail..
    $xml->AddAttributeInt('bookId', $i);

    // Add a new unread="yes" attribute:
    $xml->AddAttribute('unread', 'yes');

    // Navigate back up to the parent:
    $xml->GetParent2();

    $i = $i + 1;
}

// Navigate back to the document root:
$xml->GetRoot2();

// Save the updated document:
try {
    $xml->SaveXml('modified.xml');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

echo $xml->GetXml(), "\n";