Unicode C
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
#include <C_CkXmlW.h>
void ChilkatSample(void)
{
BOOL success;
HCkXmlW xml;
BOOL bFound;
int numChildren;
int i;
success = FALSE;
xml = CkXmlW_Create();
success = CkXmlW_LoadXmlFile(xml,L"qa_data/xml/sample1.xml");
if (success != TRUE) {
wprintf(L"%s\n",CkXmlW_lastErrorText(xml));
CkXmlW_Dispose(xml);
return;
}
// Navigate to the "books" element:
bFound = CkXmlW_FindChild2(xml,L"books");
if (bFound == FALSE) {
wprintf(L"No books child found!\n");
CkXmlW_Dispose(xml);
return;
}
numChildren = CkXmlW_getNumChildren(xml);
i = 0;
while (i < numChildren) {
// Navigate to the Nth book
CkXmlW_GetChild2(xml,i);
// Display the book title:
wprintf(L"%s\n",CkXmlW_getAttrValue(xml,L"title"));
// Add a new integer attribute:
// Should never fail..
CkXmlW_AddAttributeInt(xml,L"bookId",i);
// Add a new unread="yes" attribute:
CkXmlW_AddAttribute(xml,L"unread",L"yes");
// Navigate back up to the parent:
CkXmlW_GetParent2(xml);
i = i + 1;
}
// Navigate back to the document root:
CkXmlW_GetRoot2(xml);
// Save the updated document:
success = CkXmlW_SaveXml(xml,L"modified.xml");
if (success != TRUE) {
wprintf(L"%s\n",CkXmlW_lastErrorText(xml));
CkXmlW_Dispose(xml);
return;
}
wprintf(L"%s\n",CkXmlW_getXml(xml));
CkXmlW_Dispose(xml);
}