Извлечь байт [] из XElement с помощью Linq в Xml - PullRequest
0 голосов
/ 26 ноября 2008

Я сохраняю несколько небольших изображений в Xml в виде байта [] с помощью следующей конструкции XElement.

XElement xe = new XElement("Images",
            from c in qry
            select new XElement("Image", new XAttribute("Date", c.Date),
              new XElement("Data", c.Bytes)));

свойство Bytes - это Byte [], при взгляде на результирующий элемент содержимое массива выглядит просто превосходным.

Моя проблема в том, что я не могу просто прочитать это обратно. Каков наилучший способ получить этот элемент? Типовое преобразование в байт [], по-видимому, недопустимо. Мне действительно нужно читать это как строку? Выясните, какую кодировку использовать и конвертировать? Мне кажется, что, учитывая, что XElement понимал, как писать массив, он должен иметь возможность читать и его.

Ответы [ 2 ]

3 голосов
/ 26 ноября 2008

Я бы подумал о кодировке Base64 байтового массива. Должно быть достаточно легко кодировать / декодировать это из / в байтовый массив.

1 голос
/ 22 января 2010

Это было очень полезно, спасибо. Для примера кодирования см .:

http://www.nowan.hu/main.aspx?content=9cff1555-26ca-4e6a-910b-6a73463e22b2

...