2016-06-14 9 views
0

現在、XMLファイルを読み込み、すべての "Mods"エントリのコントロールを追加しようとしています。Xmlノードのforeachループ

<Modlist> 
    <Mods> 
    <Mod>Test1</Mod> 
    <Version>1.0</Version> 
    </Mods> 
    <Mods> 
    <Mod>Test2</Mod> 
    <Version>2.0</Version> 
    </Mods> 
    <Mods> 
    <Mod>Test3</Mod> 
    <Version>3.0</Version> 
    </Mods> 
</Modlist> 

基本的には、xmlのリストされたすべてのmodに対してパネルにコントロールを追加します。

XDocument Mods = XDocument.Load(@"C:\dataset.xml"); 

foreach (var mod in Mods.Descendants("Mods")) 
{ 
    Button modbutton = new Button(); 

    modbutton.Text = mod.Element("Mod").Value; 

    panel1.Controls.Add(modbutton); 
} 

ボタンが1つだけ作成されていますが、停止するようです。 私の例では、3つのボタンを作成する必要があります。 何を変更する必要がありますか?私のコードで何が間違っていますか?

答えて

1

xmlを読むコードは正しいですが、各ボタンを上下に重ねて配置しています。 Buttonごとに.Locationプロパティを設定します。

+0

を試してみてください..:D OFC問題厥、ありがとうございます。 – Backslash

1

urコードは完璧に機能しますが、問題はボタンが同じ場所に配置されていることです。位置を変更する必要があります。

する。これは、あなたが何の休憩を取らないとどうなるか、私は自分自身を憎む神であるこの

 XDocument Mods = XDocument.Load(@"C:\dataset.xml"); 

      int I = 10; 
      foreach (var mod in Mods.Descendants("Mods")) 
      { 
       Button modbutton = new Button() { Top = 10 + I, Left = 10 }; 


       modbutton.Text = mod.Element("Mod").Value; 

       panel1.Controls.Add(modbutton); 

       I += 50; 
      }