Serializing a System.Array to a XML String

2019-05-01 11:33发布

问题:

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.

回答1:

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();