我有xml我得到的是字节数组,什么是最好的方式来获取xml字符串?我tryng使用的XmlTextReader和MemoryStream的,但没有成功..c#从字节数组创建xml
回答
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);
This assum如果您的数据具有UTF8编码,这通常是XML。另外buffer
这里是字节数组。
好的答案,虽然MemoryStream是IDisposable,所以不要忘记把它包装在一个使用块! :) – firefox1986 2011-04-07 13:58:24
@ firefox1986不需要。 http://stackoverflow.com/a/234257/440502 – Aliostad 2012-12-25 20:45:13
因为字节顺序标记(BOM)我发现这个过载更有用(谢谢Jon Skeet) 'MemoryStream ms = new MemoryStream(buffer,true);' – bkwdesign 2017-03-14 20:09:33
基于编码,你可以做
string xmlString = System.Text.UTF8Encoding.UTF8.GetString(bytes);
和使用字符串
XmlTextReader reader = new XmlTextReader(new StringReader(xmlString));
使用UTF8类,而不是ASCII ... – NKCSS 2011-04-07 13:52:08
Ooops ... GetBytes接受一个字符串并给出一个字节数组。 GetString接收一个字节数组并给出一个字符串。 FTFY。 – 2011-04-07 14:15:28
看看System.Text.Encoding.UTF8班。它应该让你把你的字节数组转换成一个UTF8字符串。
什么如果它不是UTF8? – 2011-04-07 13:51:49
请参阅此处的[XML编码默认值](http://www.opentag.com/xfaq_enc.htm)页面。 UTF8是大多数情况下的正确假设。 – NKCSS 2011-04-07 13:53:22
不过,我想你应该在你的回答中留下一个提示。 – 2011-04-07 13:54:26
假设你的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);
}
- 1. 从C++的字节数组创建HICON?
- 2. C# - 从字节创建BMP
- 3. 创建从一个字节数组WPF
- 4. 从字节数组创建文件
- 5. 如何从HttpPostedFile创建字节数组
- 6. 从字节数组创建BufferedImage java
- 7. 如何从字节数组创建System.Windows.Media.ImageSource?
- 8. 从字节数组创建一个CGPDFDocument
- 9. 从字节数组中创建私钥
- 10. 如何在Objective-C中从字节数组创建音频?
- 11. C#中的BitmapFrame渲染(从字节数组创建)的问题
- 12. C#:xml中的字节数组CData
- 13. C#:将字节数组存储为XML
- 14. C#创建字段数组
- 15. C从TexFile创建数组
- 16. NSUTF16LittleEndianStringEncoding创建一个字节数组
- 17. Pyserial - Python的创建字节数组
- 18. 从字符串vs文件创建字节数组
- 19. Java从包含空格的字节数组创建字符串
- 20. 如何从子节点创建数组?
- 21. 从XML创建Flex组件
- 22. 从XML文件创建数组列表
- 23. AS3从xml创建多维数组
- 24. Xuggler-Java-如何从字节数组创建数据包?
- 25. 反序列化在C#创建的字节数组在Python
- 26. 使用字节数组创建PDF文件c#/ asp.net
- 27. 如何在C#中创建字节数组常量?
- 28. C# - 创建未知大小的字节数组?
- 29. 如何在C++中创建一个字节数组?
- 30. C#MVC - 上传多个大文件创建字节数组
你从哪里得到字节数组?你知道使用的编码吗? – 2011-04-07 13:51:19
XML包含base64编码数据。 – hs2d 2011-04-07 13:54:58
我的意思是XML文档的[字符编码](http://en.wikipedia.org/wiki/Character_encoding)。 – 2011-04-07 13:56:04