toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  if (root == null) {
    return super.toString();
  } else {
    String outputString = '';
    Queue<XMLNode> traversingQueue = Queue<XMLNode>();
    traversingQueue.add(root!);

    while (traversingQueue.isNotEmpty) {
      XMLNode element = traversingQueue.removeFirst();
      if (element.text != null && element.text!.isNotEmpty) {
        outputString += element.text! + '\n';
      }

      for (var i = 0; i < element.children.length; i++) {
        traversingQueue
            .addFirst(element.children[element.children.length - i - 1]);
      }
    }

    return outputString;
  }
}