Unicode C++
Unicode 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 Unicode C++ Downloads
#include <CkXmlW.h>
void ChilkatSample(void)
{
bool success = false;
CkXmlW xml;
// Load some XML:
success = xml.LoadXml(L"<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>");
wprintf(L"%s\n",xml.getXml());
// 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:
bool found = xml.SearchForTag2(xml,L"z");
if (found == true) {
// We found a node having the tag "z".
// The TagPath property tells us the location in the document.
const wchar_t *tagPath = xml.tagPath();
wprintf(L"%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.
xml.GetRoot2();
wprintf(L"%s\n",xml.tag());
// The root tag is "a".
// Follow the tagPath to the "z" node:
found = xml.FindChild2(tagPath);
wprintf(L"found = %d, tag = %s\n",found,xml.tag());
// We are now at "z".
}
}