创建SqlXml对象而不是字符串对象

时间:2010-01-28 21:53:06

标签: c# .net

我有一个方法:

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开发人员,无法解决这个任务。

1 个答案:

答案 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的文档。