0
データベースには、XMLデータを含む列と、Base64でエンコードされたzipファイルを保持するCDATAセクションがあります。 XmlReaderを使用して、CDATAセクションから文字列を取得することができましたが、&のコードを解凍した後、解凍されたデータからnullが返されています。ヘルプしてくださいXMLで圧縮されたデータを読み取る方法
case XmlNodeType.CDATA:
string base64EncodedData = xreader.Value;
var base64EncodedBytes = Convert.FromBase64String(base64EncodedData);//convert to bytes
string decoded = Unzip(base64EncodedBytes);
writer.WriteString("decoded:"+decoded);
break;
public static string Unzip(byte[] bytes)
{
using (var msi = new MemoryStream(bytes))
using (var mso = new MemoryStream())
{
using (var gs = new GZipStream(msi, CompressionMode.Decompress))
{
try { gs.CopyTo(mso); }
catch { Console.Write("failed"); }
//CopyTo(gs, mso);
}
return Encoding.UTF8.GetString(mso.ToArray());
}
}
データ型は長いテキストで、エンコードされたUTF8です。 – Scar
他の方法でデータを解凍しようとしましたが、「GZipヘッダーのマジックナンバーが正しくありません.GZipストリームを渡してください。」または読めないテキストがあります。 – Scar