Windows 窗体
一组用于开发图形用户界面的 .NET Framework 托管库。
113 个问题
我想用我的代码在树视图中显示所有属性。
如何开发此代码?谢谢!
XDocument document;
public void button1_Click(object sender, EventArgs e)
{
document = XDocument.Load("test.xml");
AddNodes(document.Root, treeView1.Nodes);
treeView1.ExpandAll();
}
public void AddNodes(XElement element, TreeNodeCollection parent)
{
var count = element.Elements().Count();
if (count == 0)
{
var node = parent.Add(element.Value);
node.Tag = element;
}
else
{
var node = parent.Add(element.Name.ToString());
node.Tag = element;
foreach (var child in element.Elements())
{
AddNodes(child, node.Nodes);
}
}
}
Note:此问题总结整理于:How to show all attributes in xml?
你好,你可以尝试以下代码来显示树视图中的所有属性。
public void AddNodes(XElement element, TreeNodeCollection parent)
{
var count = element.Elements().Count();
if (count == 0)
{
//var node = parent.Add(element.Name.ToString());
//node.Tag = element;
string attbriutename = "";
if (element.HasAttributes)
{
attbriutename = element.Name.ToString();
foreach (XAttribute att in element.Attributes())
{
attbriutename += " " + att.ToString();
}
}
else
{
attbriutename = element.Name.ToString();
}
var node = parent.Add(attbriutename);
node.Nodes.Add(element.Value);
}
else
{
string attbriutename = "";
if(element.HasAttributes)
{
attbriutename = element.Name.ToString();
foreach (var item in element.Attributes())
{
attbriutename += " "+item.ToString();
}
}
else
{
attbriutename = element.Name.ToString();
}
var node = parent.Add(attbriutename);
//node.Tag = element;
foreach (var child in element.Elements())
{
AddNodes(child, node.Nodes);
}
}
}
xml 和 treeview 中的结果:
如果答案是正确的解决方案,请单击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。