问题
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();
来源:https://stackoverflow.com/questions/6330148/serializing-a-system-array-to-a-xml-string