2
我,看起來像這樣一個XML文件的工作:XML LINQ的新手問題
<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」?或者我應該以另一種方式去談論它?
我投了你的解決方案,即使它是更好地firstordefault使用,而不是「第一個()」 – frabiacca 2010-07-30 22:54:08
@frabiacca其實我刪除它,但「好」依賴於情況。如果你對任何'Firsting'都要求一個值,那麼使用FirstOrDefault可能不會更好,也許你寧可有例外。 NuclearWinter nw = new ABomb(accessCode.FirstOrDefault()).Detonate(); //現在會發生什麼? – 2010-07-30 23:08:29
@Lucas:我寫了'更好',因爲我認爲如果我必須從我的XML中提取一些文本,我期望輸出中的東西。 如果使用First(),它將在序列不包含任何值時拋出InvalidOperationException。 – frabiacca 2010-07-30 23:21:12