Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Serializing a System.Array to a XML String

I need to pass an array of strings to SQL Server 2005, and so I wrote a stored procedure which accpets a XML parameter and deals with it properly. My question is if there is any easy way to serialize a string[] to a XML string (not a file in the disk) directly in C# without having to code my own method using XDocument, XAttribute and the like.

Example: I want to be able to transform something like new string[] { "a", "b", "c" } into something like

<StringList><String>a</String><String>b</String><String>c</String></StringList>

Element tag names are unimportant.

like image 362
B.M Avatar asked Jun 13 '11 12:06

B.M


1 Answers

You could try XmlSerializer if you really want to avoid writing your own code, but doing it with LINQ to XML would be as simple as:

XElement element = new XElement("StringList",
                                values.Select(x => new XElement("String", x)));
string text = element.ToString();
like image 81
Jon Skeet Avatar answered Nov 10 '22 19:11

Jon Skeet