0

有没有使用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 的解决方案?

提前致谢!

4

1 回答 1

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'

于 2016-04-05T08:55:11.500 回答