Le décodage des données codées en base64 de document xml

De recevoir certains fichiers xml avec embedded base64 images, que j'ai besoin de décoder et de les enregistrer en tant que fichiers.

Pas été modifiée (autres que les zippé) exemple d'un tel fichier peut être téléchargé ci-dessous:

20091123-125320.zip (60 KO)

Cependant, j'ai des erreurs comme "Invalide la longueur de Base-64 char array" et de "caractère non Valide dans la Base-64 string". J'ai marqué la ligne de code où je reçois le message d'erreur dans le code.

Un fichier pourrait ressembler à ceci:

<?xml version="1.0" encoding="windows-1252"?>
<mediafiles>
    <media media-type="image">
      <media-reference mime-type="image/jpeg"/>
      <media-object encoding="base64"><![CDATA[/9j/4AAQ[...snip...]P4Vm9zOR//Z=]]></media-object>
      <media.caption>What up</media.caption>
    </media>
</mediafiles>

Et le code pour traiter comme ceci:

var xd = new XmlDocument();
xd.Load(filename);
var nodes = xd.GetElementsByTagName("media");

foreach (XmlNode node in nodes)
        {
            var mediaObjectNode = node.SelectSingleNode("media-object");
            //The line below is where the errors occur
            byte[] imageBytes = Convert.FromBase64String(mediaObjectNode.InnerText);
            //Do stuff with the bytearray to save the image
        }

Les données xml à partir d'un journal d'entreprise système, donc je suis assez sûr que les fichiers sont ok et il doit y avoir quelque chose dans la façon dont j'ai procédé, qui est tout simplement faux. Peut-être un problème avec l'encodage?

J'ai essayé d'écrire le contenu de mediaObjectNode.InnerText, et c'est les données encodées en base64 - de sorte que la navigation dans le xml-doc n'est pas la question.

J'ai cherché sur google, binging, stackoverflowing et pleurer - et pas trouvé de solution... à l'Aide!

Edit:

Ajouté un exemple de fichier (et un bounty). Veuillez noter que le fichier à télécharger est un peu le schéma différent, puisque je l'ai simplifié dans l'exemple ci-dessus, la suppression de pertinence des trucs...

OriginalL'auteur Kjensen | 2009-11-20