web-dev-qa-db-ja.com

c#バイト配列からxmlを作成

バイト配列として取得したXMLを持っていますが、XML文字列を取得する最良の方法は何ですか?私はxmltextreaderとmemorystreamを使用しようとしましたが、成功しませんでした。

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);

これは、データがXMLで通常のUTF8エンコーディングを持っていることを前提としています。また、bufferはバイト配列です。

53
Aliostad

Xmlがデフォルトの「UTF8」エンコーディングであると仮定すると、次のようなことができます。

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

またはこれ;

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

エンコーディングに基づいて、次のことができます

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

そして、文字列を使用します

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

System.Text.Encoding.UTF8 クラスを見てください。バイト配列をUTF8文字列に変換できます。

0
NKCSS