web-dev-qa-db-fra.com

c # créer du xml à partir d'un tableau d'octets

j'ai xml ce que j'obtiens comme tableau d'octets, quelle est la meilleure façon d'en extraire la chaîne xml? J'essayais d'utiliser xmltextreader et memorystream mais sans succès ..

26
hs2d
XmlDocument doc = new XmlDocument();
string xml = Encoding.UTF8.GetString(buffer);
doc.LoadXml(xml);

OR

XmlDocument doc = new XmlDocument();
MemoryStream ms = new MemoryStream(buffer);
doc.Load(ms);

Cela suppose que vos données ont un codage UTF8, ce qui est habituel pour XML. buffer voici également le tableau d'octets.

53
Aliostad

En supposant que votre xml est dans l'encodage 'UTF8' par défaut., Vous pourriez faire quelque chose comme ceci;

string xml = System.Text.UTF8Encoding.UTF8.GetString(bytes);
System.Xml.XmlDocument xdoc = new System.Xml.XmlDocument().LoadXml(xml);

Ou ca;

XmlDocument doc = new XmlDocument();
using (MemoryStream ms = new MemoryStream(buffer))
{
    doc.Load(ms);
}
4
firefox1986

Sur la base de l'encodage, vous pouvez faire

string xmlString = System.Text.UTF8Encoding.UTF8.GetString(bytes);

et utilisez la chaîne

XmlTextReader reader = new XmlTextReader(new StringReader(xmlString));
2
Bala R

Jetez un œil à la classe System.Text.Encoding.UTF8 . Il devrait vous permettre de convertir votre tableau d'octets en une chaîne UTF8.

0
NKCSS