我想從XML文件中獲取一些值,並使用LINQ將它們插入到ListBox中。我錯在哪裏?用LINQ解析XML問題
<?xml version="1.0" encoding="UTF-8"?>
<tells>
<defindividual name="name1"/>
<instanceof>
<individual name="name1"/>
<catom name="value"/>
</instanceof>
<defindividual name="name2"/>
<instanceof>
<individual name="name2"/>
<catom name="value"/>
</instanceof>
<defindividual name="name3"/>
<instanceof>
<individual name="name3"/>
<catom name="otherValue"/>
</instanceof>
</tells>
代碼隱藏:
protected void Button1_Click(object sender, EventArgs e)
{
XDocument owlXML = XDocument.Load(Server.MapPath("App_Data\\myFile.xml"));
var items = from item in owlXML.Descendants("instanceof")
where item.Element("catom").Attribute("name").Value == "value"
select new
{
catom = item.Element("catom").Attribute("name").Value
};
foreach (var item in items)
{
//ListBox1.DataSource = item;
//ListBox1.DataBind();
ListBox1.Items.Add(item.catom);
}
}
而not_工作什麼_does? – abatishchev 2011-05-31 14:42:26
問題是我的ListBox1始終是空的。我試圖用List <>項填充它,它工作,但是當我嘗試用IEnumerable項填充它時,沒有任何反應。 – nyxz 2011-05-31 14:54:44
我更新了添加'ToArray()'的答案。您也可以使用ToList(),但不需要產生的開銷。 – abatishchev 2011-05-31 15:02:28