Если у вас есть только байты, вы можете загрузить байты в поток:
XmlDocument oXML;
using (MemoryStream oStream = new MemoryStream(oBytes))
{
oXML = new XmlDocument();
oXML.Load(oStream);
}
Или вы можете преобразовать байты в строку (при условии, что вы знаете кодировку) перед загрузкой XML:
string sXml;
XmlDocument oXml;
sXml = Encoding.UTF8.GetString(oBytes);
oXml = new XmlDocument();
oXml.LoadXml(sXml);
Я показал мой пример как совместимый с .NET 2.0, если вы используете .NET 3.5, вы можете использовать XDocument
вместо XmlDocument
.
Загрузка байтов в поток:
XDocument oXML;
using (MemoryStream oStream = new MemoryStream(oBytes))
using (XmlTextReader oReader = new XmlTextReader(oStream))
{
oXML = XDocument.Load(oReader);
}
Преобразование байтов в строку:
string sXml;
XDocument oXml;
sXml = Encoding.UTF8.GetString(oBytes);
oXml = XDocument.Parse(sXml);