2017-04-02 12 views
0

XML URL私はsimplexml_load_string()を使用していますが、には980 recordsが含まれていますので、この大きなデータを取得してarrayに変換するにはどうすればよいでしょうか。どのように私はPHPからURLからXMLデータを取得できますか?

私のコード:

$xmlURL = 'http://www.ironitekstil.com/store/xmlfeed/productsxml.aspx?xslt=picksel.xsl'; 
$c = curl_init(); 
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($c, CURLOPT_URL, $xmlURL); 
$contents = curl_exec($c); 
curl_close($c); 

if ($contents) { 
    $xmlString = $contents; 
    $xml = simplexml_load_string($xmlString); 
    echo '<pre>'; 
    print_r($xml); 
    //echo count($xml); // 980 records 
    echo '</pre>'; 
}else { 
    return FALSE; 
} 

答えて

0

のSimpleXMLがメモリに全データをロードします(これは、DOMの抽象化層です)。 XMLReaderを試してみてください。 URLを開いてタグでXMLタグを読み取ることができます。

PHPストリームラッパーを使用して直接URLを開くか、または使用することができます(現在のノードとその子孫をDOMに展開できます)。 CURLを取得してローカルファイルに格納します。

関連する問題