他社の API を使用して他社のデータベースから情報を取得していますが、XML 形式で返されます。私は 2 つのことを達成しようとしていますが、いくつかの問題があります。
1つ目は、生の XML データを表形式にフォーマットして、ブラウザーで簡単に表示できるようにしたいと考えています。
2番目私が受け取っているデータは、ID/ユーザー名/パスワード/メールです。各ユーザーIDがDBに挿入された行になるように、そのデータをDBにインポートできるようにしたいと思います(DBの作業を行うことができますが、各ユーザーを個別に処理する方法がわかりません)
API のフォーマットはこのようになって<API> <message> <user> <id> </id> <login> </login> <password> </password> <message> </message> </API>
いますが、ユーザーは 1 人ではなく数百人になります。
$array の出力を実行するたびに、意図したとおりにデータが大きなブロブとして取得されます。ただし、更新されたコード (以下) を使用すると、ユーザーが有効なインデックスではないというエラーが表示されます。また、データが含まれていない (境界線のみ) テーブルの開始と思われるものも受け取ります。
テーブルがデータを受信していない理由を理解するのを手伝ってくれる人がいれば (または、より良い方法についてアドバイスをくれれば)、とても感謝しています。
2番を理解するのを手伝ってくれる人への追加ポイント.
エラーはNotice: Undefined index: user in /home/public_html/new/test.php on line 36
、コードで 36 行目がコメント化されていることです
これが私のコードの下部です:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Method execution
$result = curl_exec($ch);
// Close CURL session
$array = json_decode(json_encode((array)simplexml_load_string($result)),1);
$array_user=$array['user']; //line 36
$tab='<table border="1" width="400">';
for ($j=1; $j< count($array_user) ; $j++) {
$tab.='<tr>';
$tab.='<td>'.$array_user[$j]['id'].'</td>';
$tab.='<td>'.$array_user[$j]['login'].'</td>';
$tab.='<td>'.$array_user[$j]['mail'].'</td>';
$tab.='<td>'.$array_user[$j]['date'].'</td>';
$tab.='</tr>';
}
$tab.='</table>';
echo $tab;
?>