正在读取使用 Chilkat 创建的 xml 文件
Reading xml file created with Chilkat
我有:Xml 使用 ChilkatDotNet4
的 Xml
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 会做到。
我有:Xml 使用 ChilkatDotNet4
的 Xml
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 会做到。