toString() {
    const attrs = this.getAttributes();
    const stringBuilder = [];
    const keys = [];

    for (const key in attrs) {
      keys.push(key);
    }

    keys.sort();
    const keysLen = keys.length;

    for (let i = 0; i < keysLen; i++) {
      const key = keys[i];
      stringBuilder.push(key + '="' + attrs[key] + '"');
    }

    const nodeName = this.nodeName.toLocaleLowerCase();
    const attrsString = stringBuilder.length > 0 ? ' ' + stringBuilder.join(' ') : '';
    return `<${nodeName}${attrsString}>${super.toString()}</${nodeName}>`;
  }
Returns the XML serialization of this YXmlElement.
The attributes are ordered by attribute-name, so you can easily use this
method to compare YXmlElements

@return {string} The string representation of this type.

@public