Sample code for 30+ languages & platforms
PHP

Xml TagPath Property Explained

See more XML Examples

Demonstrates and explains the TagPath property.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Xml;

$xml = new Xml();

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

echo $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:
try {
    $xml->SearchForTag2($xml, 'z');
    $found = true;
} catch (\Chilkat2\Exception $e) {
    $found = false;
}
if ($found) {
    // We found a node having the tag "z".
    // The TagPath property tells us the location in the document.
    $tagPath = $xml->TagPath;
    echo $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();
    echo $xml->Tag, "\n";
    // The root tag is "a".

    // Follow the tagPath to the "z" node:
    try {
        $xml->FindChild2($tagPath);
        $found = true;
    } catch (\Chilkat2\Exception $e) {
        $found = false;
    }
    echo 'found = ', ($found ? 'true' : 'false'), ', tag = ', $xml->Tag, "\n";
    // We are now at "z".
}