如何正确解析namecheap api xml返回


How do I correctly parse a namecheap api xml return?

我试图从namecheap解析以下经过处理的api响应:

<ApiResponse xmlns="http://api.namecheap.com/xml.response" Status="OK">
    <Errors/>
    <Warnings/>
    <RequestedCommand>namecheap.domains.getlist</RequestedCommand>
    <CommandResponse Type="namecheap.domains.getList">
        <DomainGetListResult>
            <Domain ID="########" Name="website1.com" User="user1" Created="08/18/2014" Expires="08/18/2016" IsExpired="false" IsLocked="false" AutoRenew="false" WhoisGuard="NOTPRESENT"/>
            <Domain ID="########" Name="website2.com" User="user1" Created="08/25/2015" Expires="08/24/2016" IsExpired="false" IsLocked="false" AutoRenew="false" WhoisGuard="NOTPRESENT"/>
        </DomainGetListResult>
        <Paging>
            <TotalItems>2</TotalItems>
            <CurrentPage>1</CurrentPage>
            <PageSize>20</PageSize>
        </Paging>
    </CommandResponse>
    <Server>Servername</Server>
    <GMTTimeDifference>--4:00</GMTTimeDifference>
    <ExecutionTime>0.034</ExecutionTime>
</ApiResponse>

这是到目前为止我得到的最接近的,但它仍然不是它。

$url="https://api.namecheap.com/xml.response?ApiUser=user1&ApiKey=StackExchangeRocks&UserName=user1&Command=namecheap.domains.getList&ClientIp=127.0.0.1";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);    // get the url contents
$data = curl_exec($ch); // execute curl request
curl_close($ch);
$xml = simplexml_load_string($data);
foreach ($xml->CommandResponse->DomainGetListResult->Domain as $domain) {
   echo $domain->Name, PHP_EOL;
}

几乎我做的任何事情都会遇到一个错误,说没有找到一个对象,或者根本没有响应。

所有我需要做的是能够提取域名,以便能够将它们存储在数据库中。什么好主意吗?

虽然我还没有很高兴(还没有)广泛使用这个PHP 是否支持文档对象模型

https://php.net/dom