问题 在C#中解析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>

使用此代码..

    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所以我有些错误。


7099
2018-01-16 01:28


起源



答案:


Root 这里开始从根元素导航(whmcsapi):

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

12
2018-01-16 01:33



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


答案:


Root 这里开始从根元素导航(whmcsapi):

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

12
2018-01-16 01:33



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