将System.Array序列化为XML字符串
问题描述:
我需要将一个字符串数组传递给SQL Server 2005,因此我编写了一个存储过程,该过程应用了XML
参数并正确处理它。我的问题是,是否有任何简单的方法可以直接在C#中将string[]
序列化为(不是磁盘中的文件)的XML字符串,而无需使用XDocument, XAttribute
等编码我自己的方法。将System.Array序列化为XML字符串
例:我希望能够像new string[] { "a", "b", "c" }
改造的东西弄成
<StringList><String>a</String><String>b</String><String>c</String></StringList>
元素的标签名称是不重要的。
答
你可以尝试XmlSerializer
如果你真的想避免编写自己的代码,但与LINQ做它的XML是非常简单的:
XElement element = new XElement("StringList",
values.Select(x => new XElement("String", x)));
string text = element.ToString();
你可以用这种方法给的名字数组中的元素也是如此?例如'values.Select(x => new XElement(array [0,0],array [0,1])));' – 2015-02-03 10:31:15
@ChrisHall:当然,如果'array'是'string [,]'...它只是一个构造函数调用,所以它真的不关心参数来自哪里。 – 2015-02-03 10:39:23
太棒了!我不是C#的100%,只是开始了一个初级角色。我可以厚脸皮地问问它是如何完成的:) – 2015-02-03 10:46:09