XMLDocument - > Byte[] ... как вернуться к XMLDocument?
У меня есть XmlDocument и получить байты объекта следующим образом:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:myxml.xml");
byte[] data = Encoding.UTF8.GetBytes(xmlDocument.outerXml);
и данные хранятся в базе данных.
теперь я читаю данные byte[] обратно и хочу вернуться к объекту XmlDocument. Как я могу это сделать, так как я не могу просто записать байт[] в XmlDocument?
спасибо.
1 ответов
можно использовать LoadXml способ:
byte[] data = ... fetch from your db
string xml = Encoding.UTF8.GetString(data);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
// TODO: do something with the resulting XmlDocument
обновление:
как запрошено в разделе комментариев Вот как загрузить массив байтов в DataTable
:
byte[] data = ... fetch from your db
DataTable dt = ... fetch from somewhere or instantiate a new;
using (var stream = new MemoryStream(data))
{
dt.ReadXml(stream);
}