toXml method

String toXml(
  1. String tableName, {
  2. List<String>? includeColumns,
  3. List<String>? excludeColumns,
})

Implementation

String toXml(
  String tableName, {
  List<String>? includeColumns,
  List<String>? excludeColumns,
}) {
  final StringBuffer xml = StringBuffer();
  final tableTag = tableName.toUpperCase();

  List<String> fieldsToProcess = _getFieldsToProcess(
    includeColumns,
    excludeColumns,
  );

  if (fieldsToProcess.isEmpty) {
    return '';
  }

  xml.write('<$tableTag>');

  for (var fieldName in fieldsToProcess) {
    final columnTag = fieldName.toUpperCase();
    final value = this[fieldName];

    xml.write('<$columnTag>');
    xml.write(_formatValue(value));
    xml.write('</$columnTag>');
  }

  xml.write('</$tableTag>');

  return xml.toString();
}