我很难接收从其他/外部网站发送到我的网址的xml数据。外部网站假设将一些xml格式数据发送到我的网址,我需要接收它并使用它上面的数据。
我试过了:
$data = simplexml_load_file("https://example.com");
和
$dom = new DOMDocument();
$dom->load('https://example.com');
我在网上发现了这些并尝试过但没有成功。有人对此有所了解,因为我是xml的新手。 还有什么方法可以确认数据是否已经到我的网址了?
外部网站发送如下数据:
<Message date="25/04/2018 13:26:33">
<Version>1.0</Version>
<OrderID>4232434</OrderID>
</Message>
答案 0 :(得分:-1)
如果数据已发布给您,那么您的PHP文件应该
if(isset($_POST['xml'])){
//do domething
}
答案 1 :(得分:-1)
由于我没有URL,因此我已经硬编码了您在评论中添加的XML内容......
$dataPOST = <<< XML
<Message date="25/04/2018 13:26:33">
<Version>1.0</Version>
<OrderID>34523</OrderID>
</Message>
XML;
//$dataPOST = trim(file_get_contents('<url>'));
$xmlData = simplexml_load_string($dataPOST);
echo "<pre>".$xmlData->asXML()."</pre>";
echo "Message date:".$xmlData['date'].PHP_EOL;
这输出......
<pre><?xml version="1.0"?>
<Message date="25/04/2018 13:26:33">
<Version>1.0</Version>
<OrderID>34523</OrderID>
</Message>
</pre>Message date:25/04/2018 13:26:33
如果您没有这样做,请检查您是否从网站上获得了正确的内容...
echo "<pre>".$dataPOST."</pre>";
更新
我想我现在更了解你需要做什么。我认为您需要阅读XML ...
$dataPOST = trim(file_get_contents("php://input"));