2011-01-16 4 views
11

同じテーマで他の記事を検索してGoogleを検索しましたが、C#NETと忘れてしまったことは非常に新しいものです。私はC#でXML文字列を解析する

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は間違いなくそこ..ですこのコードを使用して

<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> 

...このXMLを解析しようとしています。しかし、このボタンをクリックすると、listBox1またはlabel1に何も追加されないため、何かが間違っています。

答えて

12

ルート要素(whmcsapi)からナビゲーションを開始するには、ここRootを追加します。

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

は、それを解決すること、ありがとうございます。それが修正された後、誰もオンラインになっていないことに気がついたので、リストボックスに何も追加していませんでした。本当にありがとう! –