Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set xml [new_CkXml]

# Load some XML:
set success [CkXml_LoadXml $xml "<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>"]

puts [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:
set found [CkXml_SearchForTag2 $xml $xml "z"]
if {$found == 1} then {
    # We found a node having the tag "z".
    # The TagPath property tells us the location in the document.
    set tagPath [CkXml_tagPath $xml]
    puts "$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
    puts [CkXml_tag $xml]
    # The root tag is "a".

    # Follow the tagPath to the "z" node:
    set found [CkXml_FindChild2 $xml $tagPath]
    puts "found = $found, tag = [CkXml_tag $xml]"
    # We are now at "z".

}


delete_CkXml $xml