XML - большая строка

Korner

Новичок
XML - большая строка

Проблема с XML. Если в теге много текста, то он весь не считываеться, а считываеться только его часть..
вот пример
скрипт
PHP:
<?
$file = 'qqq.xml';
function saxStartElement($parser,$name,$attrs)
{
    global $description;
    switch($name)
    {
			
		case 'description':
				$description = true;
			break;

        default:

            break;
    };
}

function saxEndElement($parser,$name)
{
    global $part1, $description;
	
		
	if ( isset($description) )
	{
		print $part1;
		$description= null;
		$part1 = "";
	}

}


function saxCharacterData($parser,$data)
{
    global $part1,  $description;
	
	if ( isset($description) )	
			{

			$part1 = $data;
		
			}

}


$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);

$handle = fopen($file, "r");
$xml = fread($handle, filesize($file));
fclose($handle);

if (!xml_parse($parser,$xml,true))

    die(sprintf('Ошибка XML: %s в строке %d',
        xml_error_string(xml_get_error_code($parser)),
        xml_get_current_line_number($parser)));

xml_parser_free($parser);


?>
пример просто одной строки из qqq.xml
PHP:
<?xml version="1.0" encoding="windows-1251"?>
<description>вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.Разнообразные звуки и поддержка режима вибрации.</description>
то есть суть в том что в description много текста.

вот в результате выполнения скрипты выводиться только концовка

PHP:
ниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.вражеских бомбардировщиков. Враги нападают случайным образом. Ограниченное количество патронов и жизни.Таблица рекордов.Разнообразные звуки и поддержка режима вибрации
если принтовать $data в saxCharacterData , то выводиться полностью, а вот в saxEndElement попадает только концовка.. Ребят выруйчате плс.. у меня тока что нервный срыв изза этого был
 

slach

Новичок
чарактер дата... хандлер вызывается несколько раз подряд
делай конкатенацию
 
Сверху