Sample code for 30+ languages & platforms
Perl

Xml TagPath Property Explained

See more XML Examples

Demonstrates and explains the TagPath property.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $xml = Chilkat2::Xml->new;

# Load some XML:
my $success = $xml->LoadXml('<a><bbb><ccc><ddd>1</ddd><ddd><z>zzz</z></ddd><ddd>3</ddd></ccc></bbb></a>');

print $xml->GetXml(), "\n";

# 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:
my $found = $xml->SearchForTag2($xml, 'z');
if ($found) {
    # We found a node having the tag "z".
    # The TagPath property tells us the location in the document.
    my $tagPath = $xml->TagPath;
    print $tagPath, "\n";

    # 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();
    print $xml->Tag, "\n";
    # The root tag is "a".

    # Follow the tagPath to the "z" node:
    $found = $xml->FindChild2($tagPath);
    print 'found = ', ($found ? 1 : 0), ', tag = ', $xml->Tag, "\n";
    # We are now at "z".
}