查询XML文件以获取一些... First()项和一些重复项的完整列表

时间:2011-07-04 12:04:10

标签: xml windows-phone

首先,我要说,我是一个菜鸟。我正在尝试为Windows Phone 7做一个应用程序,基础知识工作得很好。但是建立文章列表仍然存在很大问题。

我正在尝试读取包含大量元素和属性的XML文件。部分工作正常(标题中的客户数据),但我需要一个范围内所有文章的列表。

所以实际上我正在使用标题这样的命令:

var queryResult = from item in xml.Descendants("ORDER_HEADER")
    select new ErpItem()
    {
     //Header Data
     OrderId = xml.Descendants("ORDER_INFO").Select(c => c.Element("ORDER_ID").Value).First(),
     PartyId = xml.Descendants("PARTY").Select(c => c.Element("PARTY_ID").Value).First(),
     //....... (more header data to come)
    };
    Items = queryResult.ToList();

这对我来说不是问题First()我得到了唯一的客户数据。

但后来在我的XML文件中,有一些文章相关的数据导致XML文件实际上是一个客户订单,其中包含大量的位置数据。 因此,First()方法不再起作用,因为我需要每个文章项目。

有一种简单的方法可以将First转换为例如All?每...

1 个答案:

答案 0 :(得分:0)

首先,如果您只想获取特定ORDER_HEADER的数据,则应在item.Descendants(…)内拨打select

其次,如果您不致电First(),您将获得所有数据,例如,如果您只是致电

item.Descendants("ORDER_INFO").Select(c => c.Element("ORDER_ID").Value)

它将返回所有ORDER_ID的第一个ORDER_INFO的值。