关于 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;
}
?>