1

我有以下代码需要修改,group by offer但我不确定如何group by在此查询中添加部分。

有任何想法吗?

propertyInfo = myXmlFile.Descendants("offer").Descendants("site") _
    .Where(Function(f) _
    f.Attributes("code").First.Value = Location.Text) _
    .Select(Function(f) New With { _
    .LOCATION = f.Attributes("code").First.Value, _
    .TITLE = f.Parent.Attributes("title").First.Value, _
    .OFFER = f.Parent.Attributes("offerid").First.Value, _
    .POPUPDESC = f.Parent.Descendants("short_desc").Value

示例 XML

<offers>
  <offer title="Offer title" offerid="AS32">
    <short_desc><![CDATA[
        <div>Your HTML's body <a href='dfgdfgdfgdfg.html'>Offer title</a>
        </div>
    ]]></short_desc>

    <site code="CO">
      <year_week_start>201344</year_week_start>
      <year_week_end>201414</year_week_end>
    </site>

    <site code="FH">
      <year_week_start>201446</year_week_start>
      <year_week_end>201450</year_week_end>
    </site>
  </offer>
</offers>
4

1 回答 1

0

我认为您需要在分组后更具体地了解您想要的内容。分组很容易,但是你会得到一个可枚举的组:

propertyInfo = myXmlFile.Descendants("offer").Descendants("site") _
    .Where(Function(f) _
    f.Attributes("code").First.Value = Location.Text) _
    .Select(Function(f) New With { _
    .LOCATION = f.Attributes("code").First.Value, _
    .TITLE = f.Parent.Attributes("title").First.Value, _
    .OFFER = f.Parent.Attributes("offerid").First.Value, _
    .POPUPDESC = f.Parent.Descendants("short_desc").Value) _
    .GroupBy(Function(f) f.OFFER)
于 2013-06-27T17:29:11.383 回答