C
C
Xml TagPath Property Explained
See more XML Examples
Demonstrates and explains the TagPath property.Note: The TagPath property was introduced in Chilkat v9.5.0.77
Chilkat C Downloads
#include <C_CkXml.h>
void ChilkatSample(void)
{
BOOL success;
HCkXml xml;
BOOL found;
const char *tagPath;
success = FALSE;
xml = CkXml_Create();
// Load some XML:
success = CkXml_LoadXml(xml,"<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>");
printf("%s\n",CkXml_getXml(xml));
// This is what we have:
// <?xml version="1.0" encoding="utf-8"?>
// <a>
// <bbb>
// <ccc>
// <ddd>1</ddd>
// <ddd>
// <z>zzz</z>
// </ddd>
// <ddd>3</ddd>
// </ccc>
// </bbb>
// </a>
// The TagPath property is read-only property that returns the unique path to the
// node from the document root.
// For example:
found = CkXml_SearchForTag2(xml,xml,"z");
if (found == TRUE) {
// We found a node having the tag "z".
// The TagPath property tells us the location in the document.
tagPath = CkXml_tagPath(xml);
printf("%s\n",tagPath);
// The tagPath is bbb|ccc|ddd[1]|z
// If we to back to the document root, we can get to the given node via the tagPath.
CkXml_GetRoot2(xml);
printf("%s\n",CkXml_tag(xml));
// The root tag is "a".
// Follow the tagPath to the "z" node:
found = CkXml_FindChild2(xml,tagPath);
printf("found = %d, tag = %s\n",found,CkXml_tag(xml));
// We are now at "z".
}
CkXml_Dispose(xml);
}