[英]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”指令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.