Sample code for 30+ languages & platforms
Visual FoxPro

Xml TagPath Property Explained

See more XML Examples

Demonstrates and explains the TagPath property.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loXml
LOCAL lnFound
LOCAL lcTagPath

lnSuccess = 0

loXml = CreateObject('Chilkat.Xml')

*  Load some XML:
lnSuccess = loXml.LoadXml("<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>")

? loXml.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:
lnFound = loXml.SearchForTag2(loXml,"z")
IF (lnFound = 1) THEN
    *  We found a node having the tag "z".
    *  The TagPath property tells us the location in the document.
    lcTagPath = loXml.TagPath
    ? lcTagPath

    *  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.
    loXml.GetRoot2()
    ? loXml.Tag
    *  The root tag is "a".

    *  Follow the tagPath to the "z" node:
    lnFound = loXml.FindChild2(lcTagPath)
    ? "found = " + STR(lnFound) + ", tag = " + loXml.Tag
    *  We are now at "z".

ENDIF

RELEASE loXml