c#从字节数组创建xml

我有xml我得到的字节数组,是什么最好的方法来获取xml字符串? 我尝试使用xmltextreader和memorystream但没有成功..

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

要么

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

这假设您的数据具有UTF8编码,这是XML的常用编码。 这里的buffer也是字节数组。

假设你的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); } 

基于编码,你可以做到

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

并使用字符串

 XmlTextReader reader = new XmlTextReader(new StringReader(xmlString)); 

看一下System.Text.Encoding.UTF8类。 它应该让你将你的字节数组转换为UTF8字符串。