Sample code for 30+ languages & platforms
AutoIt

Xml TagPath Property Explained

See more XML Examples

Demonstrates and explains the TagPath property.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

$oXml = ObjCreate("Chilkat.Xml")

;  Load some XML:
$bSuccess = $oXml.LoadXml("<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>")

ConsoleWrite($oXml.GetXml() & @CRLF)

;  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:
Local $bFound = $oXml.SearchForTag2($oXml,"z")
If ($bFound = True) Then
    ;  We found a node having the tag "z".
    ;  The TagPath property tells us the location in the document.
Local $sTagPath = $oXml.TagPath
    ConsoleWrite($sTagPath & @CRLF)

    ;  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.
    $oXml.GetRoot2 
    ConsoleWrite($oXml.Tag & @CRLF)
    ;  The root tag is "a".

    ;  Follow the tagPath to the "z" node:
    $bFound = $oXml.FindChild2($sTagPath)
    ConsoleWrite("found = " & $bFound & ", tag = " & $oXml.Tag & @CRLF)
    ;  We are now at "z".

EndIf