re. to Philippe Marc , and karuna_gadde examples
i found out that the xml_set_character_data_handler call back function can be called more often for the same element in particular the content is just a few chars long (happen on windows)
so a check up can give you the answer an may be for long strings too.
eg:
<?php
xml_set_character_data_handler($this->parser, "cdata");
function cdata($parser, $cdata) {
if(isset($this->data[$this->currentItem][$this->currentField])) {
$this->data[$this->currentItem][$this->currentField] .= $cdata;
} else {
$this->data[$this->currentItem][$this->currentField] = $cdata;
}
?>