Perl
Perl
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 Perl Downloads
use chilkat();
$success = 0;
$xml = chilkat::CkXml->new();
$success = $xml->LoadXmlFile("qa_data/xml/sample1.xml");
if ($success != 1) {
print $xml->lastErrorText() . "\r\n";
exit;
}
# Navigate to the "books" element:
$bFound = $xml->FindChild2("books");
if ($bFound == 0) {
print "No books child found!" . "\r\n";
exit;
}
$numChildren = $xml->get_NumChildren();
$i = 0;
while ($i < $numChildren) {
# Navigate to the Nth book
$xml->GetChild2($i);
# Display the book title:
print $xml->getAttrValue("title") . "\r\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:
$success = $xml->SaveXml("modified.xml");
if ($success != 1) {
print $xml->lastErrorText() . "\r\n";
exit;
}
print $xml->getXml() . "\r\n";