C++
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 C++ Downloads
#include <CkXml.h>
void ChilkatSample(void)
{
bool success = false;
CkXml xml;
success = xml.LoadXmlFile("qa_data/xml/sample1.xml");
if (success != true) {
std::cout << xml.lastErrorText() << "\r\n";
return;
}
// Navigate to the "books" element:
bool bFound = xml.FindChild2("books");
if (bFound == false) {
std::cout << "No books child found!" << "\r\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:
std::cout << 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 != true) {
std::cout << xml.lastErrorText() << "\r\n";
return;
}
std::cout << xml.getXml() << "\r\n";
}