我目前正在尝试读取xml文件并为每个“Mods”条目添加一个控件。
<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);
}
它的工作,但它只创建一个按钮,似乎停止。 在我的例子中,它应该创建3个按钮。 我需要改变什么?我的代码怎么了?
答案 0 :(得分:1)
您读取xml的代码是正确的,但您将每个按钮放在另一个上面。为每.Location
设置Button
属性。
答案 1 :(得分:1)
你的代码工作得很好,但问题是按钮放在同一个地方。你需要改变立场。
试试这个
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;
}