我已经为此工作了大约4个小时,我真的很接近但只是错过了标记 - 这是xml需要的样子
<ws:Answer QuestionID="Q_CAM_ID" ws:Datatype="string">
<ws:Value>6838</ws:Value>
</ws:Answer>
这是我得到的
<ns1:Answer QuestionID="Q_CAM_ID">
<ns1:Value>6838</ns1:Value>
</ns1:Answer>
使用
$A1 = new StdClass();
$A1->QuestionID = 'Q_CAM_ID';
$A1->Value =6838;
无论我尝试什么,我都无法获得“ws:Datatype =”string“”。我相信答案是以下或真正相似的
$A1 = new StdClass();
$A1->QuestionID = new StdClass();
$A1->QuestionID->QuestionID ='Q_CAM_ID';
$A1->QuestionID->DataType ='string';
$A1->Value =6838;
但我一直得到的是这个错误 可捕获的致命错误当soap调用完成后,类stdClass的对象无法转换为字符串。如果有人有线索我会非常感激
答案 0 :(得分:0)
最简单的方法是使用WSDL到php生成器,因为您只处理与需求类型匹配的PHP对象。而且,如果你是一个很好的WSDL到php生成器,那么你将拥有被命名为元素的PHP类。 您可以使用https://www.wsdltophp.com或https://github.com/mikaelcom/WsdlToPhp。
答案 1 :(得分:0)
也许我错过了一些东西但是如果你需要那个XML,为什么不把它作为一个字符串,然后把它转换成你想要做的?如果您没有使用WSDL或SimpleXML,我会执行以下操作。
$xml =
'
<ws:Answer QuestionID="Q_CAM_ID" ws:Datatype="string">
<ws:Value>6838</ws:Value>
</ws:Answer>
';