Разбор XML-строки в С#

Я просмотрел другие сообщения здесь по одному и тому же вопросу и искал Google, но я чрезвычайно новичок в С# NET и в растерянности. Я пытаюсь разобрать этот XML...

<whmcsapi version="4.1.2"> 
 <action>getstaffonline</action> 
 <result>success</result> 
 <totalresults>1</totalresults> 
 <staffonline> 
  <staff> 
   <adminusername>Admin</adminusername> 
   <logintime>2010-03-03 18:29:12</logintime> 
   <ipaddress>127.0.0.1</ipaddress> 
   <lastvisit>2010-03-03 18:30:43</lastvisit> 
  </staff> 
 </staffonline> 
</whmcsapi>

используя этот код.

    XDocument doc = XDocument.Parse(strResponse);

    var StaffMembers = doc.Descendants("staff").Select(staff => new
    {
        Name = staff.Element("adminusername").Value,
        LoginTime = staff.Element("logintime").Value,
        IPAddress = staff.Element("ipaddress").Value,
        LastVisit = staff.Element("lastvisit").Value,
    }).ToList();

    label1.Text = doc.Element("totalresults").Value;

    foreach (var staff in StaffMembers)
    {
        listBox1.Items.Add(staff.Name);
    }

Я распечатал содержимое strResponse, и XML определенно существует. Однако, когда я нажимаю эту кнопку, ничего не добавляется в listBox1 или label1, поэтому я что-то не так.

Ответ 1

Добавьте Root сюда, чтобы начать навигацию с корневого элемента (whmcsapi):

string label1_Text = doc.Root.Element("totalresults").Value;