2015-09-11 74 views
0

我有:用ChilkatDotNet4Xml類創建的xml文件,該文件中的二進制內容(下面代碼中的數據是字節數組)。傳遞給SetBinaryContent的zipFlag顯示內容將被壓縮。被如何創建的文件:用奇爾卡特創建的閱讀xml文件

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」節點的二進制內容。

我試過什麼:閱讀的innerText的「SomeNode」,得到字節數組FromBase64String,然後用GZipStream解壓,卻得到了InvalidDataException(幻數的gzip頭信息是不正確確保您在傳遞一個GZip流)

我堅信有人已經面臨同樣的問題。

回答

1

二進制數據是放氣算法的輸出(沒有包含它的GZip結構)。我懷疑System.IO.Compression.DeflateStream會做到這一點。