cray
Guest
Что быстрее: DOMXML или конкатенация?
Вопрос назрел потому что я пишу движок на PHP для сайта и все данные внутри скрипта (до возврата браузеру) формируются в виде XML, а потом это все с помощью XSLT парсицца и отдаецца браузеру. Вот по поводу формирования этого самого XML я и хотел узнать. Он у меня формируется конкатенацией выводов различных модулей и пихается в переменную (точнее так было раньше, теперь выводы всех модулей пихаюцца в ассоциативный массив, так немного удобнее). Но при таком способе формирования теряется определенная гибкость (в любое время я не могу добавить какую-нить веточку в любое место, что иногда бывает нужно).
С помощью DOMXML, конечно, об этих недостатках можно забыть, но насколько он медленнее??? Просто что-то мне подсказывает, что он мееедленнннеее..., что реализация такой спецификации должна быть аппетитной к ресурсам проца
Вот так было раньше:
Вот так я переделал:
Вопрос назрел потому что я пишу движок на PHP для сайта и все данные внутри скрипта (до возврата браузеру) формируются в виде XML, а потом это все с помощью XSLT парсицца и отдаецца браузеру. Вот по поводу формирования этого самого XML я и хотел узнать. Он у меня формируется конкатенацией выводов различных модулей и пихается в переменную (точнее так было раньше, теперь выводы всех модулей пихаюцца в ассоциативный массив, так немного удобнее). Но при таком способе формирования теряется определенная гибкость (в любое время я не могу добавить какую-нить веточку в любое место, что иногда бывает нужно).
С помощью DOMXML, конечно, об этих недостатках можно забыть, но насколько он медленнее??? Просто что-то мне подсказывает, что он мееедленнннеее..., что реализация такой спецификации должна быть аппетитной к ресурсам проца

Вот так было раньше:
PHP:
$_XML .= "<news>\n";
$_XML .= "<post_date>".timestamp2date($rowset[$i]['post_date'])."</post_date>\n";
$_XML .= "<caption>".$rowset[$i]['caption']."</caption>\n";
$_XML .= "<body>".$rowset[$i]['body']."</body>\n";
$_XML .= "<poster_name>".$row['name']."</poster_name>\n";
$_XML .= "<poster_email>".$row['email']."</poster_email>\n";
$_XML .= "</news>\n";
PHP:
$_XML['mod_news']['main'] .= "<news>\n";
$_XML['mod_news']['main'] .= "<post_date>".timestamp2date($rowset[$i]['post_date'])."</post_date>\n";
$_XML['mod_news']['main'] .= "<caption>".$rowset[$i]['caption']."</caption>\n";
$_XML['mod_news']['main'] .= "<body>".$rowset[$i]['body']."</body>\n";
$_XML['mod_news']['main'] .= "<poster_name>".$row['name']."</poster_name>\n";
$_XML['mod_news']['main'] .= "<poster_email>".$row['email']."</poster_email>\n";
$_XML['mod_news']['main'] .= "</news>\n";