2012-04-19 26 views
0

我想知道如何使用linq檢索XML,看起來完全一樣?在XML中檢索只有一個Int

<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">20</int> 

我應該使用linq嗎?我不知道這個熱門的號碼..

這是我嘗試使用的代碼,我stucj後選擇..有人可以幫助我嗎?

public void wc_DownloadTopFolder(object sender, DownloadStringCompletedEventArgs e) 
    { 
     if (e.Error == null) 
     { 
      try 
      { 
       // Retrieving the Top Folders 
       XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None); 
       int i = from query in xdoc.Descendants("int") 
         select new int 
          { 

          }; 
      } 
+2

你在這一行只是有興趣更大的XML文件,或者那是你的xml文件的全部內容? – R0MANARMY 2012-04-19 13:41:03

回答

2

您可以使用此:如果你不知道返回的值是一個數字

var number = int.Parse(xdoc.Root.Value); 

,你應該這樣做:

int number; 
if(int.TryParse(xdoc.Root.Value, out number)) 
{ 
    // you got a number 
} 
+0

可能應該總是使用第二個,因爲你真的不能保證它是一個數字。 – Robaticus 2012-04-19 14:04:07

+0

@Robaticus:如果它總是應該是一個數字,我會使用第一個數字,因爲它不是數字的情況是*例外*,所以可以拋出異常。 – 2012-04-19 15:00:41

+0

我同意這是一個特殊情況,當然會考慮將它包裝在異常處理程序中。唯一需要注意的是他在最終用戶設備上,並且考慮到異常昂貴的特性,用戶可能會通過第二種方法處理這種情況的可能性較小。最終,它可能成爲一個偏好問題。 – Robaticus 2012-04-19 17:31:05