我拥有:使用ChilkatDotNet4
Xml
类创建的Xml文件,该文件中的某个节点具有二进制内容(下面的代码中的数据是字节数组)。传递给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标头中的幻数不正确。请确保传入GZip流)
我坚信某人已经面临同样的问题。
答案 0 :(得分:1)
二进制数据是deflate算法的输出(没有包含它的GZip结构)。我怀疑System.IO.Compression.DeflateStream会这样做。