如何使用PHRETS从RETS下载STANDARD-XML元数据

时间:2016-02-08 07:36:11

标签: php rets phrets mls

是否有任何解决方案可以使用PHRETS从RETS下载STANDARD-XML元数据?

目前,我可以使用PHRETS函数GetMetadataTable并将&转换为XML格式。

但最近我发现单个STANDARD-XML元数据(整个资源和类)和单个类元数据有所不同。使用元数据查看器服务RETSMD.com(基于PHRETS构建),从STANDARD-XML元数据获取的类名也不同,无法查看详细信息。

注意:我通过使用凭据直接浏​​览器登录获得了STANDARD-XML元数据,如下所示 http://rets.login.url/GetMetadata?Type=METADATA-TABLE&Format=STANDARD-XML&ID=0

任何人都面临同样的问题?有没有使用PHP的解决方案?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我通过修改PHRETS库得到了解决方案。 使用以下代码添加了新功能

    if (empty($this->capability_url['GetMetadata'])) {
        die("GetServerInformation() called but unable to find GetMetadata location. Failed login?\n");
    }

    $optional_params['Type']   = 'METADATA-SYSTEM';
    $optional_params['ID']     = '*';
    $optional_params['Format'] = 'STANDARD-XML';

    //request server information
    $result = $this->RETSRequest($this->capability_url['GetMetadata'], $optional_params );

    if (!$result) {
        return false;
    }
    list($headers, $body) = $result;
    $xml = $this->ParseXMLResponse($body);

注意:需要注意的主要是,

$optional_params['ID']     = '*';

应该是'*'而不是'0'