代码段:
//byte[] myByteArray = byte array from database (database BLOB) myByteArray = (byte[]) ((dbCommand.Parameters["parameter"].Value)); string myString =System.Text.Encoding.UTF8.GetString(myByteArray); Xmldocument doc = new Xmldocument(); doc.Load(myString);
============
我System.OutOfMemoryException
有时会得到.
string myString = System.Text.Encoding.UTF8.GetString(myByteArray);
将bytearray转换为字符串时,我收到此错误.
有没有办法让这段代码变得健壮.
我想要做的就是在字节数组中加载BLOB,然后将它们转换为字符串并将它们加载到xmldocument中以便使用.
如果你有一个包含XML文本的字符串,你实际上需要XmlDocument.LoadXML.XmlDocument.Load将字符串视为URL.
也就是说,XmlDocument.Load有重载采用XmlReader,TextReader或Stream.您可以在底层字节数组上创建一个MemoryStream,然后传递它; 这避免了字符串转换.