Позвольте мне попытаться ответить на ваш вопрос. Когда дело доходит до сериализации набора данных или таблицы данных, не сохраняйте файл и не выполняйте обратное чтение. Это приводит к дополнительным операциям ввода-вывода и не является жизнеспособным во всех сценариях. Что вам нужно сделать, это написать функцию для сериализации DataTable. (Убедитесь, что вы указали имя для заказа DataTable для сериализации. См. Пример ниже в C #
/ * Используйте этот метод для сериализации данного объекта в XML. Мы перейдем к этому позже * /
private XmlElement Serialize(object obj)
{
XmlElement serializedXmlElement = null;
try
{
System.IO.MemoryStream memoryStream = new MemoryStream();
System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(obj.GetType());
xmlSerializer.Serialize(memoryStream, obj);
memoryStream.Position = 0;
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(memoryStream);
serializedXmlElement = xmlDocument.DocumentElement;
}
catch (Exception e)
{
//logging statements. You must log exception for review
}
return serializedXmlElement;
}
После того, как вы реализовали метод Serialize, вы можете сериализовать ваш DataTable, как показано ниже. Я не пишу здесь весь мой образец для краткости.
adapter.Fill(employee);
employee.TableName = "Employees";
XmlElement xmlElement = (XmlElement)Serialize(employee);
Console.WriteLine(xmlElement.ToString());
string xmlString = xmlElement.OuterXml.ToString();
return xmlString;
Надеюсь, это поможет. Пожалуйста, дайте мне знать, если у вас есть еще вопросы.