关于 Philippe Marc 和 karuna_gadde 的示例
我发现 xml_set_character_data_handler 回调函数可以更频繁地为同一个元素调用,尤其是在内容很短的情况下(发生在 Windows 上)。
因此,进行检查可以给你答案,可能对于长字符串也是如此。
例如
<?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;
}
?>