在C#中解析XML字符串

12 c# xml linq-to-xml

我已经查看了同一主题的其他帖子并搜索了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>
Run Code Online (Sandbox Code Playgroud)

使用此代码..

    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);
    }
Run Code Online (Sandbox Code Playgroud)

我打印出了strResponse的内容,XML绝对存在.但是,当我单击此按钮时,没有任何内容添加到listBox1或label1所以我有些错误.

Mar*_*ers 13

Root在此处添加以从根元素(whmcsapi)开始导航:

string label1_Text = doc.Root.Element("totalresults").Value;
Run Code Online (Sandbox Code Playgroud)