2016-06-14 3 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의 모든 나열된 모듈에 대해 패널에 컨트롤을 추가하고 싶습니다.

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); 
} 

버튼 하나만 만드는 것만으로 멈추는 것처럼 보입니다. 예제에서 3 개의 버튼을 만들어야합니다. 무엇을 변경해야합니까? 내 코드에 무슨 문제가 있습니까?

답변

1

xml을 읽는 코드가 맞지만 각 버튼을 서로 겹쳐 쓰고 있습니다. 모든 Button에 대해 .Location 속성을 설정하십시오.

+0

이 더 휴식을 취하지 않는 경우, 신 나는 자신이 싫어 일어나는 것입니다 .. 시도하십시오. – Backslash

1

완벽하게 작동하는 ur 코드이지만 문제는 단추가 동일한 위치에 배치됩니다. 위치를 바꿔야합니다. D 감사합니다, OFC 문제를 먹으 렴 :

는이

 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; 
      }