2015-06-06 2 views
-3

Я пытаюсь получить номер телефона из XML и использовать его для отправки смс (он работает).метод доступа в C#?

Пусть, Метод, который загружает номер телефона:

public string LoadPhoneNumber(string phoneNum) 
    {   
     XDocument xmlDoc = XDocument.Load(Application.StartupPath + "/AppUsers/Users.xml"); 
      var items = from item in xmlDoc.Elements("Users").Elements("user") 
         where item != null &&(item.Attribute("author").Value == "Home Owner") 

         select item; 
      foreach (var item in items) 
      {     
        phoneNum=item.Element("mobile").Value.ToString();  

      } 
      return phoneNum; 
    } 

Проблема: Я пытался использовать номер телефона, с возвращением метода.

string phoneNum; 
sms.sendMsg(port, LoadPhoneNumber(phoneNUm), "Unknown Intruder is detected!) 
+2

"не может работать" не говорит нам ничего * * о том, что проблема, которую вы видите. (Обратите внимание, что в настоящее время вы только возвращаете * последний * соответствующий номер телефона, кстати - есть гораздо более чистые способы написать этот запрос ...) –

+0

Хорошо, вы можете показать мне более чистый способ? – ensberiyu

+0

Ну, на данный момент это не является частью вашего вопроса - если вы можете дать понять, что на самом деле происходит не так, так что я могу написать полезный ответ, я включу там лучший запрос. (Но что вы хотите сделать, если есть * несколько значений владельца дома? Вы определенно хотите последнее? Почему не первый?) –

ответ

1

Попробуйте это:

public string LoadPhoneNumber() 
    {   
     XDocument xmlDoc = XDocument.Load(Application.StartupPath + "/AppUsers/Users.xml"); 
      var items = from item in xmlDoc.Elements("Users").Elements("user") 
         where item != null &&(item.Attribute("author").Value == "Home Owner") 

         select item; 
      foreach (var item in items) 
      {     
        string phoneNum=item.Element("mobile").Value.ToString(); 
        return PhoneNum;  

      } 
      return LoadPhoneNumber(); 
    } 
Смежные вопросы