【问题标题】:How to download STANDARD-XML metadata from RETS using PHRETS如何使用 PHRETS 从 RETS 下载 STANDARD-XML 元数据
【发布时间】:2016-02-08 07:36:10
【问题描述】:

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

提前致谢!

【问题讨论】:

  • 我明白,这是一篇旧帖子,但我想知道您的问题是否已解决
  • @Kamamba,是的,我找到了解决方案,发布在下面。

标签: php rets phrets mls


【解决方案1】:

我通过修改 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'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    相关资源
    最近更新 更多