繁体   English   中英

C#:从XML文档填充Listview

[英]C#: Populate Listview from XML document

我想用一个XML文件中的数据填充我的列表视图,该文件也是用该程序生成的。

此代码仅添加XML文件的第一个条目。 但为什么?

 XDocument document = XDocument.Load(@path + projectName + ".xml");


        var items = from item in document.Descendants("root")


                    select new
                    {
                        Name = item.Element("Child").Attribute("Name").Value,
                        time = item.Element("Child").Attribute("time").Value
                    };


        foreach (var item in items)
        {
            var lvi = activitiesList.Items.Add(item.Name);
            lvi.SubItems.Add(item.time);
        }

这是我的XML文件

<root>
 <Child Name="New Activity" time="20" />
 <Child Name="asdf1" time="5" />
 <Child Name="g1" time="0" />
</root>

我的Listview应该在两列中显示:

New Activity  20
asdf1         5
g1            0

问题出在LINQ语句中-您只有一个“根”节点,因此对于每个“根”节点(1),获取它的“子”元素的名称和时间并将其放在var items ...

试试这个:

var items = from item in document.Root.Elements("Child")
            select new
            {
                Name = item.Attribute("Name").Value,
                time = item.Attribute("time").Value
            };

检查此问题并回答。 这似乎可以回答您的问题。 它指向您的查询,不包括“ XNamespace”指令。

使用LINQ从XML文件中选择元素

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM