Php 如何通过POST读取由第三方通过URL发送的XML消息?

Php 如何通过POST读取由第三方通过URL发送的XML消息?,php,xml,wordpress,callback,Php,Xml,Wordpress,Callback,第三方应用程序通过URL发送XML消息。我希望能够在WordPress上阅读和操作该消息 我相信simplexmlement是关键,而不是创建一个类。但是许多错误是根据我作为参数输入的内容返回的 add_action( 'rest_api_init', function () { register_rest_route( 'webhook', '/v1', array( 'methods' => 'POST', 'callback' => 'myfunction

第三方应用程序通过URL发送XML消息。我希望能够在WordPress上阅读和操作该消息

我相信
simplexmlement
是关键,而不是创建一个类。但是许多错误是根据我作为参数输入的内容返回的

add_action( 'rest_api_init', function () {
  register_rest_route( 'webhook', '/v1', array(
    'methods'  => 'POST',
    'callback' => 'myfunction',
  ));
});

function myfunction () {

    $mymessage = new SimpleXMLElement($xmlstr);

    $messageType = $mymessage->cgCallback[0]->existingField;

    echo $messageType ;
}
$mymessage=newsimplexmlement($xmlstr)->返回“未定义变量:xmlstr”

$mymessage=newsimplexmlement($data)->返回“未捕获的TypeError:SimpleXMLElement::\uu构造()要求参数1为字符串”


$mymessage=新的simplexmlement($message)->返回“未捕获的异常:字符串无法解析为XML”

好的,得到了解决方案:这不适用于
SimpleXMLElement
,但适用于
simplexml\u load\u String
,并且需要
file\u get\u contents('php://input)


好的,得到了解决方案:这不适用于
simplexmlement
,但适用于
simplexml\u load\u string
,并且需要
文件\u get\u内容('php://input)


尝试将变量作为参数添加到函数中,例如:
function myfunction($xmlstr){…}
谢谢RamRaider。使用
函数myfunction($xmlstr){$mymessage=new SimpleXMLElement($xmlstr);
返回“未捕获类型错误:SimpleXMLElement::u构造()期望参数1为字符串”你能给我看一下你传递给这个函数的值的代码吗?嗨,奈杰尔,我没有其他代码。我想这应该足够了。可能重复尝试将变量作为参数添加到你的函数中,就像这样:
function myfunction($xmlstr){…}
谢谢RamRaider。使用
function myfunction($xmlstr){$mymessage=new SimpleXMLElement($xmlstr);
返回“未捕获类型错误:SimpleXMLElement::u构造()期望参数1为字符串”您可以显示从何处获得传递给此函数的值的代码吗?嗨,Nigel,我没有任何其他代码。我认为这应该足够了。可能是
function myfunction () {

    $postData = file_get_contents('php://input');
    $xml = simplexml_load_string($postData);

    $messageType = $xml->header[0]->existingField;

    echo $messageType ;
}