2016-10-25 22 views
1

これは私のコードです:XElement反復要素を追加するにはどうすればよいですか?

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にいくつかの固定フィールドを設定し、プレースホルダ間で反復することをいくつかしたいと思います。しかし、新しい "反復"リストを追加しようとすると構文が間違っているようです。

どこが間違っていますか?

答えて

1

linq .Selectを使用してforeachを実行します。配列を作成するときにも、new [] {}の構文はnew string[]にのみ有効です。あなたのケースでの使用には:

  • new XElement[] {}
  • またはメソッドがparams object[]を取得するので、あなただけの独立し
  • のでXElementsのコレクションを渡すの両方の方法を示す配列で包むことなく、各new XElementを与えることができます

      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()) 
      ); 
      
    関連する問題