XML disperso (SRU) com php

Tentei analisar uma resposta XML que não funciona. Nos documentos da API, diz que é um protocolo baseado em XML: SRU. Esse código de análise XML não funcionará? Ou há algum erro no código?

código

$xmldoc = new DOMDocument();
$xmldoc->load('http://api.site.com/sru/query=' . $_GET['q']);
print_r($xmldoc);

$xpathvar = new Domxpath($xmldoc);
$queryResult = $xpathvar->query('//datafield[@tag="020"]/subfield[$code="a"]');
foreach ($queryResult as $result) {
    echo $result->textContent;
    print_r($result);
}

xml estrutura:

<searchRetrieveResponse>
    <numberOfRecords>1</numberOfRecords>
    <datafield tag="020" ind1=" " ind2=" ">
        <subfield code="a">xyz</subfield>
    </datafield>

    ...

</searchRetrieveResponse>