从Linq到Xml的XElement中提取Byte []

时间:2008-11-26 00:57:15

标签: c# xml linq linq-to-xml xelement

我通过以下XElement构造将一些小图像保存为Xml作为Byte []。

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 [],查看结果元素,数组的内容看起来只是保存为peachy。

我的问题是我似乎无法简单地阅读此内容。检索此元素的最佳方法是什么?对Byte []进行类型转换似乎是不允许的,我真的要将其作为字符串读取吗?找出要使用和转换的编码?在我看来,鉴于XElement理解了如何编写数组,它应该能够读取它。

2 个答案:

答案 0 :(得分:3)

我会考虑对字节数组进行Base64编码。从/向字节数组编码/解码它应该相当容易。

答案 1 :(得分:1)

这非常有帮助,谢谢。有关编码样本,请参阅:

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