我正在处理类似这样的XML文件:
<lfm status="ok">
<user>
<name>JohnnyWestlake</name>
<image size="large">http://someurl.com/large.jpg</image>
<image size="extralarge">ttp://someurl.com/exlarge.jpg</image>
...
</user>
</lfm>
我正在使用Linq将其添加到用户类中,如下所示:
User user;
user = (from lfmUser in userrequest.Descendants("user")
select new User
{
Name = lfmUser.Element("name").Value,
ImageM = lfmUser.Element("image").Value,
...
}).FirstOrDefault();
问题,如何将ImageM设置为image size =“extralarge”中包含的url,而不是image size =“large”?或者我应该采取另一种方式?
答案 0 :(得分:3)
ImageM = lfmUser.Elements("image")
.Where( e => e.Attribute( "size" ).Value == "extralarge" )
答案 1 :(得分:0)
试试这个:
var user = (from lfmUser in userrequest.Descendants("user")
select new User
{
Name = lfmUser.Element("name").Value,
ImageM = lfmUser.Descendants("image").Where(x=>x.Attribute("size").Value == "large").First().Value
}).FirstOrDefault();