Max[storm]
Новичок
Ошибка XML: > required. Проблема в xml_parse
ДОбрый вечер гуру и не очень.... прокопался весь день по форумам и мануалам... но так и не смог найти решение, так что решил прибегнуть к последней инстанции.... пишу сюда.
Пример xml файла:
<?xml version="1.0"?>
<some_xml_tg>
<object something="1">A1</object>
<object something="2">A2</object>
</some_xml_tg>
-----------------------------------------------------------------------------------------------
Разбираю xml файл таким образом:
-----------------------------------------------------------------------------------------------
$parser = xml_parser_create();
xml_set_element_handler($parser,'saxStartElement','saxEndElement');
xml_set_character_data_handler($parser,'saxCharacterData');
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
$xml_array = file ('Адрес файла на http сервере');
$finish = false;
for ($i=1; $i < count ($xml_array); $i++)
{
if (count ($xml_array) == ($i + 1)) $finish = true;
$xml = $xml_array[$i];
if (!xml_parse ($parser, $xml, $finish))
die(sprintf('Ошибка XML: %s в строке %d',
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
xml_parser_free($parser);
-----------------------------------------------------------------------------------------------
Проблема заключается в следующем: если содерижмое xml файла не большое (элементов object не много, не больше 100), то все прекрасно работает. Но как только содержимое файла превышает 1000 элементов, то возникает следующая ошибка:
Ошибка XML: > required в строке 168
Номер строки может меняться, если варьировать объем xml файла. проблема, на сколько я понял, кроится в xml_parse ()..... но почему это возникает и как с этим бороться - не понимаю. Для справки - на домашней машине стоит Денвер.
ДОбрый вечер гуру и не очень.... прокопался весь день по форумам и мануалам... но так и не смог найти решение, так что решил прибегнуть к последней инстанции.... пишу сюда.
Пример xml файла:
<?xml version="1.0"?>
<some_xml_tg>
<object something="1">A1</object>
<object something="2">A2</object>
</some_xml_tg>
-----------------------------------------------------------------------------------------------
Разбираю xml файл таким образом:
-----------------------------------------------------------------------------------------------
$parser = xml_parser_create();
xml_set_element_handler($parser,'saxStartElement','saxEndElement');
xml_set_character_data_handler($parser,'saxCharacterData');
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
$xml_array = file ('Адрес файла на http сервере');
$finish = false;
for ($i=1; $i < count ($xml_array); $i++)
{
if (count ($xml_array) == ($i + 1)) $finish = true;
$xml = $xml_array[$i];
if (!xml_parse ($parser, $xml, $finish))
die(sprintf('Ошибка XML: %s в строке %d',
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
xml_parser_free($parser);
-----------------------------------------------------------------------------------------------
Проблема заключается в следующем: если содерижмое xml файла не большое (элементов object не много, не больше 100), то все прекрасно работает. Но как только содержимое файла превышает 1000 элементов, то возникает следующая ошибка:
Ошибка XML: > required в строке 168
Номер строки может меняться, если варьировать объем xml файла. проблема, на сколько я понял, кроится в xml_parse ()..... но почему это возникает и как с этим бороться - не понимаю. Для справки - на домашней машине стоит Денвер.