我需要将XML对象保存到PHP会话中。显然这是不可能的。因此,我尝试将对象转换为字符串和数组,然后转换回简单的XML对象,但无论我尝试什么似乎都不起作用。我只是回到空对象,因为var_dump()显示如下。任何人都可以提供帮助。
$messages = $this->Message->getAll('50'); //this functions brings back a simplexml object
$_SESSION['messages'] = $messages->asXML(); //doesn't work
var_dump($messages);
array(50) {
[0]=>
object(SimpleXMLElement)#5 (0) {
}
[1]=>
object(SimpleXMLElement)#6 (0) {
}
[2]=>
object(SimpleXMLElement)#7 (0) {
}
[3]=>
object(SimpleXMLElement)#8 (0) {
}
[4]=>
object(SimpleXMLElement)#9 (0) {
}
[5]=>
object(SimpleXMLElement)#10 (0) {
}
[6]=>
object(SimpleXMLElement)#11 (0) {
}
[7]=>
object(SimpleXMLElement)#12 (0) {
}
[8]=>
object(SimpleXMLElement)#13 (0) {
}
[9]=>
object(SimpleXMLElement)#14 (0) {
}
[10]=>
object(SimpleXMLElement)#15 (0) {
}
[11]=>
object(SimpleXMLElement)#16 (0) {
}
[12]=>
object(SimpleXMLElement)#17 (0) {
}
[13]=>
object(SimpleXMLElement)#18 (0) {
}
[14]=>
object(SimpleXMLElement)#19 (0) {
}
[15]=>
object(SimpleXMLElement)#20 (0) {
}
[16]=>
object(SimpleXMLElement)#21 (0) {
}
[17]=>
object(SimpleXMLElement)#22 (0) {
}
[18]=>
object(SimpleXMLElement)#23 (0) {
}
[19]=>
object(SimpleXMLElement)#24 (0) {
}
[20]=>
object(SimpleXMLElement)#25 (0) {
}
[21]=>
object(SimpleXMLElement)#26 (0) {
}
[22]=>
object(SimpleXMLElement)#27 (0) {
}
[23]=>
object(SimpleXMLElement)#28 (0) {
}
[24]=>
object(SimpleXMLElement)#29 (0) {
}
[25]=>
object(SimpleXMLElement)#30 (0) {
}
[26]=>
object(SimpleXMLElement)#31 (0) {
}
[27]=>
object(SimpleXMLElement)#32 (0) {
}
[28]=>
object(SimpleXMLElement)#33 (0) {
}
[29]=>
object(SimpleXMLElement)#34 (0) {
}
[30]=>
object(SimpleXMLElement)#35 (0) {
}
[31]=>
object(SimpleXMLElement)#36 (0) {
}
[32]=>
object(SimpleXMLElement)#37 (0) {
}
[33]=>
object(SimpleXMLElement)#38 (0) {
}
[34]=>
object(SimpleXMLElement)#39 (0) {
}
[35]=>
object(SimpleXMLElement)#40 (0) {
}
[36]=>
object(SimpleXMLElement)#41 (0) {
}
[37]=>
object(SimpleXMLElement)#42 (0) {
}
[38]=>
object(SimpleXMLElement)#43 (0) {
}
[39]=>
object(SimpleXMLElement)#44 (0) {
}
[40]=>
object(SimpleXMLElement)#45 (0) {
}
[41]=>
object(SimpleXMLElement)#46 (0) {
}
[42]=>
object(SimpleXMLElement)#47 (0) {
}
[43]=>
object(SimpleXMLElement)#48 (0) {
}
[44]=>
object(SimpleXMLElement)#49 (0) {
}
[45]=>
object(SimpleXMLElement)#50 (0) {
}
[46]=>
object(SimpleXMLElement)#51 (0) {
}
[47]=>
object(SimpleXMLElement)#52 (0) {
}
[48]=>
object(SimpleXMLElement)#53 (0) {
}
[49]=>
object(SimpleXMLElement)#54 (0) {
}
答案 0 :(得分:3)
只需将完整的xml作为字符串保存到会话var ...
$_SESSION['theXml'] = $xmlObject->asXML();
和retreive
$xmlObject = new SimpleXMLElement($_SESSION['theXml']);
或者我不理解这个问题..?
答案 1 :(得分:0)
保存其序列化版本
$var->asXML();
当你从Session中获取对象时,用XML字符串重建对象。
答案 2 :(得分:-1)
您是否尝试过http://php.net/serialize功能?