0

XMLのLINQクエリに問題があり、解決できません

要素の値を抽出しようとしています

これがXMLです

<response>
  <make>DODGE</make>
  <make>CHRYSLER</make>
  <make>JEEP</make>
  <make>RAM</make>
  .......etc
</response>

これが私がこれまでに持っているコードです...

        XElement parsedXml3 = XElement.Parse(xml3);
        var query2 = from m in parsedXml3.Descendants("response")
                     select m.Elements("make").Select(e => e.Value);
        List<string> ls = new List<string>();
        foreach (var o in query2)
        {
            ls = o.ToList();
        }
        ls.Sort();

あなたの助けに感謝します-拡張された説明は素晴らしいでしょう

4

1 に答える 1

0

これを試して。

XElement parsedXml3 = XElement.Parse(xml3); //parse your xml string

parsedXml3.Descendants("response")ここでは応答がルートノードであるため、使用する必要はありません。

var makes= parsedXml3.Elements("make") //Get All make Elements
           .Select(x=>x.Value).ToList(); //Select Value from make Element 
                                         //and Store in List<string>
makes.Sort();
foreach (var  make in makes)
{
   Console.WriteLine(make);
}

または、コードを次のように変更できます

XElement parsedXml3 = XElement.Parse(xml3);
var ls= (from m in parsedXml3.Descendants("make")
             select m.Value).ToList();

//List<string> ls = new List<string>();
//foreach (var o in query2)
//{
//    ls.Add(o);
//}
ls.Sort();
于 2012-10-25T09:41:48.913 に答える