# toXML method

XMLNode toXML()

## Implementation

    XMLNode toXML() {
      final node = XMLNode.xmlns(
        tag: 'file',
        xmlns: fileMetadataXmlns,
        children: List.empty(growable: true),
      );

      if (mediaType != null) {
        node.addChild(XMLNode(tag: 'media-type', text: mediaType));
      }
      if (width != null) {
        node.addChild(XMLNode(tag: 'width', text: '$width'));
      }
      if (height != null) {
        node.addChild(XMLNode(tag: 'height', text: '$height'));
      }
      if (desc != null) {
        node.addChild(XMLNode(tag: 'desc', text: desc));
      }
      if (length != null) {
        node.addChild(XMLNode(tag: 'length', text: length.toString()));
      }
      if (name != null) {
        node.addChild(XMLNode(tag: 'name', text: name));
      }
      if (size != null) {
        node.addChild(XMLNode(tag: 'size', text: size.toString()));
      }

      for (final hash in hashes.entries) {
        node.addChild(
          constructHashElement(hash.key, hash.value),
        );
      }

      for (final thumbnail in thumbnails) {
        node.addChild(
          thumbnail.toXML(),
        );
      }

      return node;
    }