我試着從一個特定的XML樹得到的總和值,像這樣:PHP獲取總和值從XML響應樹
<response>
<date_start>2014-02-01</date_start>
<date_end>2014-02-25</date_end>
<source>Web</source>
<partners>
<partner>
<partner_id>99</partner_id>
<number_of_leads>11</number_of_leads>
</partner>
<partner>
<partner_id>101</partner_id>
<number_of_leads>17</number_of_leads>
</partner>
<partner>
<partner_id>103</partner_id>
<number_of_leads>38</number_of_leads>
</partner>
</partners>
</response>
我想結束:從第三方
示例響應結果是這樣的變量:$ lead_total ='66';重複的「合作伙伴」塊可以有1到100個列出的合作伙伴。所以我想能夠遍歷所有合作伙伴並顯示number_of_leads總和。
到目前爲止,我一直都在做這樣說,這是醜陋的,不是很可擴展的,並且我要創建新的文件,每次我增加額外的對方ID下面的查詢字符串:
$target_url = 'https://........&Partner_ID=99,101,103.....';
$xml = simplexml_load_file($target_url);
$number_of_leads1 = $xml->partners->partner[0]->number_of_leads;
$number_of_leads2 = $xml->partners->partner[1]->number_of_leads;
$number_of_leads3 = $xml->partners->partner[2]->number_of_leads;
if(!$number_of_leads1) { $number_of_leads1 = '0'; }
if(!$number_of_leads2) { $number_of_leads2 = '0'; }
if(!$number_of_leads3) { $number_of_leads3 = '0'; }
$lead_total = $number_of_leads1 + $number_of_leads2 + $number_of_leads3;
header('Content-type: text/xml');
header('Pragma: public');
header('Cache-control: max-age=0 no-cache must-revalidate no-store');
header('Expires: -1');
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
echo "
<root>
<item>
<value>{$lead_total}</value>
<text>{$currenttime} CST, {$currentdate}</text>
</item>
</root>
";
我不是非常擅長創建循環,或數組,或更先進的PHP,所以任何幫助清理這個混亂,非常讚賞。理想情況下,根據url字符串中的Partner_ID獲取總number_of_leads會很棒。謝謝!
這很好。比我所做的要簡單得多。 – user1371519