我有一个这样的xml文件:
<servers>
<general name="1">
<service name="ser1"/>
<service name="ser2"/>
</general>
<general name="2">
<service name="ser1"/>
<service name="ser2"/>
</general>
</servers>
在我的 winform 应用程序中,我有一个复选框属性设置为 true 的树视图列表。我想要实现的是我试图读取这个 xml 文件并将父节点和子节点都更新到这个树视图。
我尝试过的是:
XDocument doc = XDocument.Load(@"D:\\path.xml");
TreeNode node;
var gnrl = from general in doc.Descendants("general")
select new
{
parent = general.Attribute("name").Value,
child = general.Descendants("service")
};
//Loop through results
foreach (var general in gnrl)
{
// Add a root node.
node = dcselectview.Nodes.Add(String.Format(general.parent));
foreach (var ser in general.child)
{
// Add a node as a child of the previously added node.
node = node.Nodes.Add(String.Format(ser.Attribute("name").Value));
}
}
它读取文件并更新所有详细信息,但方式不正确。而是如下所示:
需要:
我希望父元素位于子元素的顶部和右侧。如果可能的话,如果我没有父元素的复选框,那就太好了。
任何帮助将非常感激..
编辑:
我的代码已编辑。现在我得到如下新图片所示:
我希望 2 条黑线在同一行,而不是作为另一个的子节点..