我所拥有的:用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流中传递)
我坚信有人已经遇到了同样的问题。
二进制数据是deflate算法的输出(没有GZip结构将其围起来)。我怀疑System.IO.Compression.DeflateStream会做到这一点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句