我有一个 PHP 脚本,它通过 API 向亚马逊的 Cloudfront 提交无效请求。
我可以捕获响应,但它返回的文本基本上如下所示:
HTTP/1.0 201 Created
Content-Type: text/xml
Location: https://cloudfront.amazonaws.com/2012-07-01/distribution/distribution ID/invalidation/invalidation ID
<Invalidation xmlns="http://cloudfront.amazonaws.com/doc/2012-07-01/">
<Id>IDFDVBD632BHDS5</Id>
<Status>InProgress</Status>
<CreateTime>2013-04-16T19:37:58Z</CreateTime>
<InvalidationBatch>
<Paths>
<Items>
<Path>/image1.jpg</Path>
</Items>
</Paths>
<CallerReference>20130416090001</CallerReference>
</InvalidationBatch>
</Invalidation>
我基本上只是想获取状态值,我想我可以通过正则表达式或一些字符串操作来做到这一点,但我假设有更好的方法将返回的数据转换为对象并正确访问它。
我试过了:
$dom = new DOMDocument();
$dom->loadXML($data);
但是 $data 不起作用,因为它实际上包含标题部分“HTTP/1.0 201...”
有人知道处理这个问题的正确方法吗?