如何在c#.net中为xml数据文件创建treeview

时间:2014-09-01 09:48:57

标签: c# treeview

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <Synergy>
    <INDATE>17/08/2014 Friday</INDATE>
    <INTIME>-</INTIME>
    <OUTTIME>-</OUTTIME>
    <OUTDATE>17/08/2014</OUTDATE>
    <LUNCH>-</LUNCH>
    <EFFORTS>-</EFFORTS>
    <OPERATIONS>Weekoff</OPERATIONS>
    <COMMENTS>lkjhkl</COMMENTS>
  </Synergy>
</NewDataSet>

这是我的xml数据文件......这些是filds.i尝试为这个文件创建一个树视图。我想代码扩展到synergy来显示indate,outdate ......,comments 。使用c#语言......

2 个答案:

答案 0 :(得分:0)

C#.NET为XML提供了一个非常简单的框架(System.Xml

您可以将XML文档加载到XDocument对象中,如下所示:

public XDocument LoadXMLfromFile(string DataFilePath)
{
    using (var reader = new StreamReader(DataFilePath)) {
            var xml = reader.ReadToEnd();
            var xDoc = XDocument.Parse(xml);
            return xDoc;
    }
}

然后您可以遍历节点并将它们传递给TreeView

答案 1 :(得分:0)

您可以使用以下内容:

        XmlDocument doc = new XmlDocument();
        doc.Load("XMLFile1.xml");

        XmlNodeList senergy = doc.SelectNodes("NewDataSet/Synergy");

        foreach (XmlNode node in senergy)
        {
            TreeNode senergyNode = new TreeNode("senergy");
            senergyNode.Nodes.Add(node.SelectSingleNode("INDATE").InnerText);
            senergyNode.Nodes.Add(node.SelectSingleNode("INTIME").InnerText);
            senergyNode.Nodes.Add(node.SelectSingleNode("OUTTIME").InnerText);
            senergyNode.Nodes.Add(node.SelectSingleNode("OUTDATE").InnerText);
            senergyNode.Nodes.Add(node.SelectSingleNode("LUNCH").InnerText);
            senergyNode.Nodes.Add(node.SelectSingleNode("EFFORTS").InnerText);
            senergyNode.Nodes.Add(node.SelectSingleNode("OPERATIONS").InnerText);
            senergyNode.Nodes.Add(node.SelectSingleNode("COMMENTS").InnerText);

            tvSenergy.Nodes.Add(senergyNode);
        }

也不要忘记使用System.XMl。