正在读取使用 Chilkat 创建的 xml 文件

Reading xml file created with Chilkat

我有:Xml 使用 ChilkatDotNet4Xml class 创建的文件,该文件中的某些节点具有二进制内容(下面代码中的数据是字节大批)。传递给 SetBinaryContent 的 zipFlag 表明内容将被压缩。如何创建文件:

var zipFlag = true;
var ecryptFlag = false;
var password = string.empty;

var xml = new Xml();
var node = xmlFile.FindChild("SomeNode");
node.SetBinaryContent(data, zipFlag, ecryptFlag, password); //in file it is base64 text

我需要的是:使用 System.Xml.XmlDocument 读取此文件,并从 "SomeNode" 节点获取二进制内容。

我试过的方法:读取 "SomeNode" 的 innerText,用 FromBase64String 获取字节数组,然后用 GZipStream 解压,但得到 InvalidDataException (GZip header 中的幻数不正确。确保您传入的是 GZip 流)

我坚信有人已经遇到过同样的问题。

二进制数据是 deflate 算法的输出(没有包含它的 GZip 结构)。我怀疑 System.IO.Compression.DeflateStream 会做到。