關於 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;
}
?>