在对数据库执行某个操作后,我从系统收到$ _POST数组。我试过访问数组并将其保存为simple_xml对象。到目前为止,我还没有成功。正在发送的数组看起来像这样。
Array
(
[xml] => <?xml version=\"1.0\"?>
<callback><profile><id>313009</id><fields><email>tomkriek@gmail.com</email><nieuwsbrief>8</nieuwsbrief></fields><interests></interests></profile><action>update</action><parameters><nieuwsbrief>8</nieuwsbrief></parameters></callback>
)
我已经尝试将其存储为像这样的simple_xml对象。
if($xml_test = simplexml_load_string($_POST['xml']))
{
$xml_test->saveXML('test.xml');
}
我可以保存不同类型的.xml文件,因此我确定权限设置正确。 至于其余的我对格式化和解析.xml文件并不熟悉,所以我希望任何人都可以帮忙。
我希望的结果是我可以访问新制作的simple_xml对象并访问值和字段。
答案 0 :(得分:1)
需要stripslashes()
:
$string = stripslashes($_POST['xml']);
if($xml_test = simplexml_load_string($string))
{
$xml_test->saveXML('test.xml');
}
最好在php.ini中关闭magic_quotes_gpc
:
答案 1 :(得分:0)
saveXML()会将XML写入文件中。如果要访问XML元素,则需要执行类似
的操作 $action = $xml_test->action;
echo $action;
您可以尝试打印出simplexml对象,以便通过执行
查看其结构 print_r($xml_test);