LINQ to XML属性

时间:2015-01-14 12:29:06

标签: c# xml linq

我正在创建一个下载XML并解析它的简单应用程序。我有这些问题:

<image size="small">http://userserve-ak.last.fm/serve/34/101313093.jpg</image>
<image size="medium">http://userserve-ak.last.fm/serve/64/101313093.jpg</image>
<image size="large">http://userserve-ak.last.fm/serve/126/101313093.jpg</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/252/101313093.jpg</image>

默认代码:

var data = from query in xdoc.Descendants("user")
           select new User
           {
               Image = (string)query.Element("image")
           };

它总是下载一个uri到小图像,但我想下载一个大。 怎么做?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

var result= xdoc.Descendants("image")
                .Where(x => x.Attribute("size").Value == "large")
                .Select(x => new User{ Image =  x.Value });

这是Working Example Fiddle