我有一个方法:
public static string UnZipStr(byte[] input)
{
if (input == null){
return null;
}
using (MemoryStream inputStream = new MemoryStream(input))
using (DeflateStream gzip = new DeflateStream(inputStream, CompressionMode.Decompress))
using (StreamReader reader = new StreamReader(gzip, System.Text.Encoding.UTF8))
{
return reader.ReadToEnd();
}
}
但我总是让xml文本解压缩,这是事实。 我需要更改此方法以返回SqlXml对象。 不幸的是我是java开发人员,无法解决这个任务。
答案 0 :(得分:1)
您需要SqlXml对象还是XmlDocument / XDocument对象?关于将SqlXml对象转换为XmlDocument的This post可能与您的需求有关。
您可以执行以下操作:
public static string SqlXmlFromZippedBytes(byte[] input)
{
if (input == null){
return null;
}
using (MemoryStream inputStream = new MemoryStream(input))
using (DeflateStream gzip = new DeflateStream(inputStream, CompressionMode.Decompress))
using (StreamReader reader = new StreamReader(gzip, System.Text.Encoding.UTF8))
{
return new SqlXml(reader); // From System.Data.SqlTypes
}
}
以下是SqlXml constructor的文档。