簡體   English   中英

如何獲取子節點並將其從父節點分組

[英]how to get the child nodes and group them from a parent node

我有一個XElement對象,其結構如下。 我怎么會選擇所有的CalcConceptId從子節點TestResults其中根節點DataPointValue屬性是不同的,並存儲為XElement在陣列/表S? 我希望能夠將每個子對象存儲為另一個XElement以便我可以遍歷它們,並從每個子SeriesAsOfDate獲取SeriesAsOfDate和數據節點。

<TestResults RSSD="123456">
  <CalcConceptId Id="110" DataPointValue="10">
    <SeriesAsOfDate Value="2013-07-10T00:00:00">
      <Data AsOfDate="7/10/2013" ExpectedValue="1" />
      <Data AsOfDate="7/3/2013" ExpectedValue="14" />
      <Data AsOfDate="6/26/2013" ExpectedValue="55" />
    </SeriesAsOfDate>
  </CalcConceptId>
  <CalcConceptId Id="110" DataPointValue="20">
    <SeriesAsOfDate Value="2013-07-10T00:00:00">
      <Data AsOfDate="7/10/2013" ExpectedValue="4" />
      <Data AsOfDate="7/3/2013" ExpectedValue="34" />
      <Data AsOfDate="6/26/2013" ExpectedValue="1" />
    </SeriesAsOfDate>
  </CalcConceptId>
</TestResults>

我認為您希望將所有CalcConceptId節點按DataPointValue分組,但是“ DataPointValue的不同之處”的含義還不清楚。

無論如何,這就是我想要的...

    var calcConceptIdGroupedByDataPointValue =
        doc.Descendants("CalcConceptId")
           .GroupBy(calcConceptId => calcConceptId.Attribute("DataPointValue"));

我不確定100%...但是,如果我明白您的要求,您是否正在尋找呢?

//assuming the XElement is called Data:
var result = 
    data.Elements().GroupBy(x => int.Parse(x.Attribute("DataPointValue")))
        .Select(g => g.First());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM