【问题标题】:How can I add XElement iterating elements?如何添加 XElement 迭代元素?
【发布时间】:2016-10-25 11:01:40
【问题描述】:

这是我的代码:

var xml = new XElement("test", new[] {
    new XElement("group", new[] {
        new XElement("date", dateNow.ToString("dd/MM/yyyy HH:mm:ss"))
    }),

    new XElement("users", new[] {
        foreach(var item in in PlaceHolderCustom.Controls)
        {
            new XElement("nome", ((TextBox)item.FindControl("myTextBox")).Text)
        }
    })
});

我想在 xml 中设置一些固定字段(在元素“组”内)和一些会遍历占位符的字段。但是当我尝试添加一个新的“迭代”列表时,语法似乎是错误的。

我哪里错了?

【问题讨论】:

    标签: c# asp.net xml iteration xelement


    【解决方案1】:

    使用 linq .Select 执行 foreach。此外,当您创建数组时,new [] {} 语法仅对new string[] 有效。在你的情况下使用:

    • new XElement[] {}
    • 或者因为该方法得到一个params object[],你可以只给每个new XElement独立而不用数组包装

    所以显示了传递XElements集合的两种方式:

    var xml = new XElement("test",
        new XElement("group", new XElement[] {
            new XElement("date", dateNow.ToString("dd/MM/yyyy HH:mm:ss"))
        }),
        new XElement("users", PlaceHolderCustom.Control.Select(item =>
            new XElement("nome", ((TextBox)item.FindControl("myTextBox")).Text)).ToArray())
    );
    

    【讨论】:

      猜你喜欢
      • 2012-10-28
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多