以下の XML からデータを解析しようとしています (データがどのように見えるかの例を示すために、データを大幅に短縮しました)。
属性ごとに、データを別の配列に格納する必要があります。
XML ファイル
<report>
<title>Resolution Times (Jun 07 00:21)</title>
<sets>
<set>
<legend>Solved in Less than 2 Hours</legend>
<values>
<value data="8702" date="2012-05-24"/>
<value data="8741" date="2012-05-25"/>
<value data="8741" date="2012-05-26"/>
<value data="8741" date="2012-05-27"/>
</values>
</set>
<set>
<legend>Solved in Less than 24 Hours</legend>
<values>
<value data="36990" date="2012-05-24"/>
<value data="37094" date="2012-05-25"/>
<value data="37096" date="2012-05-26"/>
<value data="37144" date="2012-05-27"/>
</values>
</set>
</sets>
</report>
以下は、データを読み込もうとしているテストコードです。テスト目的で、実際に取得されるデータを確認するために印刷しています。
$verifyReport = new SimpleXMLElement('305262.xml', null, true);
$testing = $verifyReport->sets->set->values->value;
echo '<ol>';
foreach($testing as $data)
{
echo '<li>',
$data['data'].PHP_EOL;
echo '</li>';
}
echo '</ol>';
$testing1 = $verifyReport->sets->sets->values->value;
echo '<ol>';
foreach($testing1 as $data2)
{
echo '<li>',
$data2['data'].PHP_EOL;
echo '</li>';
}
echo '</ol>';
以下はデータの出力です
1. 8702
2. 8741
3. 8741
4. 8741
Warning: Invalid argument supplied for foreach() in
/Applications/XAMPP/xamppfiles/htdocs/tango/test.php on line 23
最初のセット (2 時間以内に解決) は取得できますが、2 番目のセット (24 時間以内に解決) からデータを取得しようとすると、上記のエラーが発生します。
誰でもこの問題を修正できますか?