2010-11-16 29 views
1

Je fais un XElement avec un élément qui a LINQ.Binary dedans ..XElement avec System.Data.Linq.Binary

La ligne ressemble à:

new XElement("Data", binData)); 

Où BinData est de type System.Data.Linq.Binary

ce que je ne comprends pas est que quand je regarde le xml créé il montre

<Data>"mydata"</Data> 

au lieu de

<Data>mydata</Data> 

pourquoi y a-t-il des guillemets et comment puis-je m'en débarrasser.

Répondre

1

La raison pour laquelle vous obtenez "mydata" est parce que c'est ce que vous donne la sortie de la méthode ToString() de System.Data.Linq.Binary.

Ceci est un moyen simple de se débarrasser d'eux, bien que beaucoup d'autres existent:

string bindatastr = binData.ToString(); 
new XElement("Data", bindatastr.Substring(1, bindatastr.Length - 2)); 
+0

ouais .. les données proviennent de la db et la colonne est un varbinary, mais les données sont stockées est base64 codé .. ne pense pas varbinary était le meilleur choix. – BabelFish

+0

peut-être pas. Je ne suis pas bon avec les bases de données, mais si vous stockez les données en tant que codage en base 64, alors j'irais avec un type de chaîne comme varchar. –