медленно считывает функция file_get_contents xml данные

  • Автор темы Автор темы Dasverd
  • Дата начала Дата начала

Dasverd

Новичок
медленно считывает функция file_get_contents xml данные

Приветствую!

Проблема:

Есть страница (http://is/dann.sistem.form) полученная путем обработки Oracle выводом

имеет вид:

<nazvanie_spiska> Учебники </nazvanie_spiska>

<blok>
<avtor> Автор1 </avtor>
<nazvanie> Название1 </nazvanie>
<ssylka> Ссылка1</ssylka>
</blok>

<blok>
<avtor> Автор2 </avtor>
<nazvanie> Название2 </nazvanie>
<ssylka> Ссылка2</ssylka>
</blok>

<blok>
<avtor> Автор3 </avtor>
<nazvanie> Название3 </nazvanie>
<ssylka> Ссылка3</ssylka>
</blok>

и т. д. примерно еще 15 блоков

Данная страница генерируется Oracle очень быстро.


обрабатываю

PHP:
$conten=file_get_contents('http://is/dann.sistem.form');	    

$conten_xml="<?xml version=\"1.0\" encoding=\"windows-1251\"?><xml>".$conten."</xml>";      

$xml_pars = simplexml_load_string($conten_xml);

обрабатывается всё это за 2-3 сек. иммено функцией (file_get_contents )

если использую без ссылки (<ssylka> Ссылка2</ssylka_kaf>) (впринципе без разницы, что находится), в общем 3-ий элемент в блоке

Пример:

<nazvanie_spiska> Учебники </nazvanie_spiska>

<blok>
<avtor> Автор1 </avtor>
<nazvanie> Название1 </nazvanie>
</blok>

<blok>
<avtor> Автор2 </avtor>
<nazvanie> Название2 </nazvanie>
</blok>

<blok>
<avtor> Автор3 </avtor>
<nazvanie> Название3 </nazvanie>
</blok>

обрабатывается всё это за 0.18 сек. иммено функцией (file_get_contents)


Подскажите, может какую функцию использовать, или более рациональный способ, я уже запарился гуглить, надеюсь на Вас :confused:
 
кто-нибудь понял, что именно у этого гения тормозит?
 
функция file_get_contents медленно считывает контент xml -теги

в том случае если
<blok>
<avtor> Автор1 </avtor>
<nazvanie> Название1 </nazvanie>

.... еще будет парочку элементов

<god> год1<god>
<izdatel>издатель</izdatel>
<ssylka> Ссылка1</ssylka>
</blok>


а при использование двух элементов да же при очень большем списке работает быстро
<blok>
<avtor> Автор1 </avtor>
<nazvanie> Название1 </nazvanie>
</blok>



может в функции file_get_contents используются какие то алгоритмы, я ужу не знаю почему медленно он берет xml контент
 
считываемый текст на скорость работы этой функции никакого влияния не оказывает.
еще вопросы будут?
 
Автор оригинала: *****
считываемый текст на скорость работы этой функции никакого влияния не оказывает.
еще вопросы будут?
ок, посижу подумаю, если разберусь, то отпишусь

-~{}~ 13.04.09 19:38:

Проблему не решил, постараюсь обьяснить подробнее.

Функция simplexml_load_file забирает контент медленно.

Пример:

$xml_pars = simplexml_load_file('http://server1/pt/sotrud.rep?id=22');

// http://server1/pt/sotrud.rep?id=22 - эту страницу генерирует Oracle т.е. данные считываются из БД Oracle

Страница http://server1/pt/sotrud.rep?id=22 имеет вид:

<?xml version="1.0" encoding="windows-1251" standalone="yes" ?>
<xml>
<nazvanie>Список сотрудников</nazvanie>

<blok>
<fio>ФИО1</fio>
<step>степень1</step>
<dolgn>должность1</dolgn>
<priz>признак1</priz>
</blok>

<blok>
<fio>ФИО2</fio>
<step>степень2</step>
<dolgn>должность2</dolgn>
<priz>признак2</priz>
</blok>

<blok>
<fio>ФИО3</fio>
<step>степень3</step>
<dolgn>должность3</dolgn>
<priz>признак3</priz>
</blok>

</xml>


В данном примере в блоке содержутся 4 элемента

<blok>
1 <fio>ФИО</fio>
2 <step>степень</step>
3 <dolgn>должность</dolgn>
4 <priz>признак</priz>
</blok>
Данная страница считывается функцией (simplexml_load_file) медленно, примерно за 2,35 сек


Если я убираю

3 <dolgn>должность</dolgn>
4 <priz>признак</priz>

элементы, то скорость обрабатывается очень быстро, примерно за 0,30 сек!!!!

Хотя эти элементы я даже делал так, что б они даже из базы не считывались, всё равно, скорость была маленькой.

помогите пожалуйста ::what::
 
Сверху