'不允许序列化'SimpleXMLElement'错误插入会话xml值

时间:2013-03-18 09:50:34

标签: xml serialization simplexml php

大家好我有一个在codeigniter中开发的网站。 我正在解析从服务器检索的xml,我想将返回值放入会话变量中。 但是请回答这个错误:

  

致命错误:不允许带有“序列化'SimpleXMLElement'消息的未捕获异常'异常'

我的vps上的PHP版本是: PHP版本5.3.10-1ubuntu3.4

这是我的代码:

$xml = new SimpleXMLElement(curl_exec($ch2));
$error2=curl_getinfo( $ch2, CURLINFO_HTTP_CODE );
curl_close($ch2);
foreach ($xml->DATA as $entry){
    $code_travco = $entry->attributes()->COUNTRY_CODE;
    $name_en =  $entry->COUNTRY_NAME;
    $newdata = array(
        'code'  => $code_travco,
        'name_en'     =>  $name_en
    );
    $this->session->set_userdata($code_travco.'_nation_en', $newdata);      
 } 

1 个答案:

答案 0 :(得分:14)

可能会尝试在添加之前将其更改为字符串,例如:

foreach ($xml->DATA as $entry){
    $code_travco = (string) $entry->attributes()->COUNTRY_CODE;
    $name_en =  (string) $entry->COUNTRY_NAME;
    $newdata = array(
        'code'  => $code_travco,
        'name_en'     =>  $name_en
    );
    $this->session->set_userdata($code_travco.'_nation_en', $newdata);      
 }