Witam
Na potrzeby webservic'u gdzie jako jeden z parametrów request'a muszę spakować Xml'a w zipa a z kolei zipa zamienić w tablicę bajtów. Chcę się upewnić że moja metoda robi to tak jak należy, ponieważ jako odpowiedź z servicu dostaję info "brak danych wejściowych". Oto mój kod:
private string Xml = "<test:doc id=\"1\">" +
"<test:doc1 name=\"abcd\"/>" +
... etc
"</test:doc>"; // jakiś tam xml
private byte[] XmlTest(string Xml)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(Xml);
var buffer = new MemoryStream();
byte[] bytes;
using (var archive = new ZipArchive(buffer, ZipArchiveMode.Create, true))
{
ZipArchiveEntry manifest = archive.CreateEntry("doc.xml");
using (Stream st = manifest.Open())
{
using (StreamWriter writerManifest = new StreamWriter(st))
{
writerManifest.WriteLine(xmlDoc.OuterXml);
}
}
bytes = buffer.ToArray();
return bytes;
}
}