xpath を使用して Web サイトからデータを取得し、それを JSON 配列に変換しようとしました。
これは私が得た結果です
{"mobiles":[{"model":3,"price":"Samsung Galaxy S4 I9500"},{"model":5,"price":"Rs. 109,900"},{"model":10, "price":"Samsung Galaxy Note N7000"},{"model":12,"price":"Rs. 63,000"},{"model":17,"price":"Dialog i43"},{"model ":19,"price":"Rs. 16,490"},{"model":24,"price":"Micromax X1i XTRA"},{"model":26,"price":"Rs. 3,290"} ,{"model":31,"price":"Micromax X103"},{"model":33,"price":"Rs. 2,390"},{"model":38,"price":"Micromax A110キャンバス 2"},{"モデル":40,"価格":"Rs. 25,990"}]}
この配列を次のように印刷したい
{"モバイル":[{"モデル":Samsung Galaxy S4 I9500,"価格":"109,900"},etc...
これは私が使用したコードです
@$doc = new DOMDocument();
@$doc->loadHTMLFile($file);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//*[@class='span2 product_box']");
$models = array();
$models1 = array();
if (!is_null($elements)) {
foreach ($elements as $element) {
$nodes = $element->childNodes;
foreach ($nodes as $node) {
$modle = trim($node->nodeValue,"\t,\n,\r");
$models[] = $modle;
}
}
}
$models1 = array_filter(array_map('trim', $models));
foreach($models1 as $key => $val)
{
$result[] = array('model'=> $key, 'price'=> $val);
}
$finalResultArray = array(
'mobiles' => $result
);
echo json_encode($finalResultArray);
誰でも私を助けることができますか?