在C#中解析XML字符串

12

我已经查看了关于相同主题的其他帖子并搜索了谷歌,但我对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

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

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

谢谢,问题已解决。在修复了这个问题之后,我意识到没有人在线,所以它并没有向列表框中添加任何内容。非常感谢! - user470760

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接