Sample code for 30+ languages & platforms
Dart

Xml TagPath Property Explained

See more XML Examples

Demonstrates and explains the TagPath property.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final xml = CkXml();

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

  print(xml.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:
  var found = true;
  try {
    xml.searchForTag2(xml, 'z');
  } on ChilkatException {
    found = false;
  }
  if (found) {
    // We found a node having the tag "z".
    // The TagPath property tells us the location in the document.
    final tagPath = xml.tagPath;
    print(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.
    xml.getRoot2();
    print(xml.tag);
    // The root tag is "a".

    // Follow the tagPath to the "z" node:
    found = true;
    try {
      xml.findChild2(tagPath);
    } on ChilkatException {
      found = false;
    }
    print('found = $found, tag = ${xml.tag}');
    // We are now at "z".
  }
}