こんにちは、私はこの xml を持っています。Plan のリストと PlanTerms のリストを取得したいと考えています。
   Plan
    {
    name = "Premium"
    List<Terms>{
      24 months/24000 miles
     36 months/36000 miles
    }
    }
XML:
<plan>
    <planid>1</planid>
    <plantitle>Premium</plantitle>
    <plandesc>12 months / 12,000 miles</plandesc>
    <planwarranty>NA</planwarranty>
    <plancoveredterm>12</plancoveredterm>
</plan>
<plan>
    <planid>2</planid>
    <plantitle>Premium</plantitle>
    <plandesc>24 months / 24,000 miles</plandesc>
    <planwarranty>NA</planwarranty>
    <plancoveredterm>24</plancoveredterm>
</plan>
<plan>
    <planid>3</planid>
    <plantitle>Premium</plantitle>
    <plandesc>36 months / 36,000 miles</plandesc>
    <planwarranty>NA</planwarranty>
    <plancoveredterm>36</plancoveredterm>
</plan>
次のコードブロックを使用しています
XDocument xdoc = XDocument.Parse(providerResponse);
XElement root = xdoc.Root;
var quotePlan = (from planInfo in root.Descendants("plan")
                 select new QuotePlanMbp
                 {
                     Name = planInfo.Element("plantitle").Value.ToString(),
                     QuoteTerms = (from planTerm in root.Descendants("plan")
                                   select new QuoteTermMbp
                                   {
                                       TermMonths = planTerm.Element("plancoveredterm").Value != null ? Convert.ToInt32(planTerm.Element("plancoveredterm").Value) : 0,
                                       TermMiles = planTerm.Element("plancoveredmiles").Value != null ? Convert.ToInt32(planTerm.Element("plancoveredmiles").Value) : 0,
                                       TermCost = planTerm.Element("plancost").Value != null ? Convert.ToDecimal(planTerm.Element("plancost").Value) : 0
                                   }).ToList<QuoteTerm>()
                  }).GroupBy(plan => plan.Name);
これにより、最上位のプラン レコードが 3 つ得られますが、必要なプラン レコードは 1 つだけです (名前は常に「プレミアム」であるため)。この問題を解決するための微調整を提案してください。