2015-06-09 68 views
1

我想檢查從c#中的XML的用戶名的存在。我用了以下方法。這是做這件事的好方法嗎?選擇查詢並檢查在C#中的xml值?

XDocument xmlDoc = XDocument.Load(Application.StartupPath + "/AppUsers/Users.xml"); 
      var items = from item in xmlDoc.Elements("Users").Elements("user") 
         where item != null 

         select item; 
      foreach (var item in items) 
      { 
       if (item.Attribute("username").Value == txtUserName.Text) 
       { 
        MessageBox.Show("The Username is Already Exist!", "Add User", MessageBoxButtons.OK, 
         MessageBoxIcon.Exclamation); 
        return ; 
       } 
+1

如果您收到錯誤或不正確的結果,請更新您的問題以反映該問題。 –

回答

0

假設它返回正確的結果,它看起來很好。

您可以將foreach循環內的單獨檢查合併到原始查詢中,但我認爲它完全不會縮短執行時間。

var items = (from item in xmlDoc.Elements("Users").Elements("user") 
      where item != null 
       && item.Attribute("username").Value == txtUserName.Text 
      select item); 

if (items.Any()) 
{ 
    MessageBox.Show("The Username already exists!", "Add User", 
        MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
    return; 
}