私はsimpleXMLでXMLファイルを読み込むための小さな関数を書いており、これを使ってPear Benchmark Iterateを使って時間を計っています。私はそのsimpleXMLを読んだことがあり、DOMはXMLファイル全体をメモリに入れてしまい、大きなサイズのファイルにオーバーヘッドが発生する可能性があります。XMLからPHP配列に値を取得する
以下の関数は比較的小さいサイズで、XMLファイルから10個の値しか取得しません。
以下の関数の反復(xmlファイルサイズ:200kb)は、平均2.5秒で完了します。
PHP XMLparser、関連するクラス、またはおそらくxmlを配列に解析するための他の効率的な方法を使って解決策を提案する人はいますか?それは心のシフトのビットを必要とするが
のSimpleXMLバージョン
function getItems($file_id, $item_count=5)
{
switch ($file_id)
{
case '1':
$file = "http://xml_file.xml";
if ($xml = simplexml_load_file($file))
{
$i=0;
foreach ($xml->info as $info)
{
if ($i < $item_count)
{
$var[] = array(
"id" => (string)$info->id,
"name" => (string)$info->name);
}
$i++;
}
return $var;
}
}
}