<?
$NodeArray = array();
$NodeName = "Test";function characterData($parser_instance, $xml_data) {
    global $NodeArray; global $NodeName; if($NodeName != "Order"){
   $NodeArray[$NodeName] = $xml_data;
}
}
characterData(sss,www);
echo $NodeArray["Test"]; //输出是www 这样不对吗?
?>
是array_merge,不是array_megre
不过为什么要用array_merge($NewArray, $NodeArray)呢?
$NodeArray = $NewArray;

解决方案 »

  1.   

    这是expat XML解释用的,把node添加到动态数组里,所以这样用,array_merge很慢,4.3M的xml解释超过30秒阿。
      

  2.   

    你上面的函数没有问题,可以得到正确结果这样做似乎有点问题使用domxml宽展库是很容易解决的
    http://expert.csdn.net/Expert/TopicView1.asp?id=1597294
      

  3.   

    domxml学起来思路更清晰,不过速度理论上讲是不如parser函数库
    而且,domxml会把整个xml树放进内存,这样会严重加重服务器的负担。