【问题标题】:Serializing a System.Array to a XML String将 System.Array 序列化为 XML 字符串
【发布时间】:2011-06-13 12:02:36
【问题描述】:

我需要将一个字符串数组传递给 SQL Server 2005,因此我编写了一个存储过程,它接受一个 XML 参数并正确处理它。我的问题是,是否有任何简单的方法可以直接在 C# 中将 string[] 序列化为 XML 字符串(不是磁盘中的文件),而无需使用 XDocument, XAttribute 和喜欢。

示例:我希望能够将new string[] { "a", "b", "c" } 之类的东西转换成类似的东西

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

元素标签名称不重要。

【问题讨论】:

    标签: c# xml sql-server-2005 serialization


    【解决方案1】:

    如果您真的想避免编写自己的代码,您可以尝试 XmlSerializer,但是使用 LINQ to XML 进行操作很简单:

    XElement element = new XElement("StringList",
                                    values.Select(x => new XElement("String", x)));
    string text = element.ToString();
    

    【讨论】:

    • 你能用这个方法给数组中的元素命名吗??例如values.Select(x =&gt; new XElement(array[0,0], array[0,1])));
    • @ChrisHall: 当然,如果arraystring[,]...它只是一个构造函数调用,所以它真的不关心参数来自哪里。
    • 太棒了!我还不是 100% 使用 C#,刚刚开始担任初级角色。我可以厚颜无耻地问它是怎么做的吗:)
    • @ChrisHall:听起来你应该问一个更多上下文的新问题。我真的不知道你在问什么。
    猜你喜欢
    • 2010-12-30
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    相关资源
    最近更新 更多