Разбор XML-строки в C # - PullRequest
12 голосов
/ 16 января 2011

Я просмотрел другие посты здесь на ту же тему и искал в Google, но я чрезвычайно новичок в C # 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 Ответ

13 голосов
/ 16 января 2011

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

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