Xml 节点foreach循环
Xml node foreach loop
我目前正在尝试读取 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 个按钮。
我需要改变什么?我的代码有什么问题?
您阅读 xml 的代码是正确的,但您将每个按钮一个接一个地放在一起。为每个 Button
.
设置 .Location
属性
你的代码工作完美,但问题是按钮放在同一个地方。你需要改变位置。
试试这个
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;
}
我目前正在尝试读取 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 个按钮。 我需要改变什么?我的代码有什么问题?
您阅读 xml 的代码是正确的,但您将每个按钮一个接一个地放在一起。为每个 Button
.
.Location
属性
你的代码工作完美,但问题是按钮放在同一个地方。你需要改变位置。
试试这个
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;
}