2015-09-11 1 views
0

Ce que j'ai: Fichier Xml créé avec ChilkatDotNet4Xml classe, certains nœuds dans ce fichier avec un contenu binaire (les données dans le code ci-dessous est tableau d'octets). zipFlag qui est passé à SetBinaryContent montre que le contenu serait zippé. Comment fichier est en cours de création:Lecture du fichier XML créé avec Chilkat

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 

Ce que je dois: lire ce fichier avec System.Xml.XmlDocument, et obtenir le contenu binaire du noeud « SomeNode ».

Ce que j'ai essayé. Lire innerText de « SomeNode », obtenir tableau d'octets avec FromBase64String, puis décompressez avec GZipStream, mais ai InvalidDataException(Le nombre magique en-tête GZip est incorrect Assurez-vous que vous passez dans un flux GZip)

Je crois fermement que quelqu'un a déjà fait face au même problème.

Répondre

1

La donnée binaire est la sortie de l'algorithme de dégonflement (pas de structure GZip qui l'entoure). Je suppose que System.IO.Compression.DeflateStream le fera.