我目前正在使用 Botman 框架让我的机器人读取 XML 文件。
目前,我的机器人能够从 XML 文件中获取数据并将其输出。
我在将 XML 文件保存回全局变量时遇到问题(以便稍后可以在代码中重用)。这是我尝试执行此操作时收到的当前错误消息:
"message": "Serialization of 'SimpleXMLElement' is not allowed",
"exception": "Exception",
"file": "C:\\Users\\Jack\\finalyearproject\\gfyp\\gfyp\\vendor\\opis\\closure\\src\\SerializableClosure.php
我这里遇到问题:
public function nodeTest($xmlFile, $answer)
{
$this->XMLFile = $xmlFile;
...
}
这是函数之前的类代码:
class StartConversation extends Conversation
{
public $XMLFile;
...
public function askForDatabase()
{
$question = Question::create('Test test test?')
->fallback('Unable to create a new database')
->callbackId('create_database')
->addButtons([
Button::create('Suicide')->value('suic'),
Button::create('Self-harm')->value('sh'),
]);
$this->ask($question, function (Answer $answer) {
$xmlResult = $this->testXMLGrabFunction($answer);
if ($answer->getValue() == 'suic') {
$this->nodeTest($xmlResult, $answer);
}
if ($answer->getValue() == 'sh') {
$this->nodeTest($xmlResult, $answer);
}
});
}
}
这是我最初获取 XML 文件的类:
class testClass
{
function getXMLCategory($categoryName)
{
$xml = simplexml_load_file('ST-working-age-23-3-20.xml');
if($categoryName == 'suic')
{
$xml = $xml->node[0];
return $xml;
} elseif($categoryName == 'sh') {
$xml = $xml->node[1];
return $xml;
} else {
return null;
}
}
}
任何建议都会很棒 - 谢谢
www说