2016-02-08 37 views
0

是否有任何解決方案使用PHRETS從RETS下載STANDARD-XML元數據?如何使用PHRETS從RETS下載STANDARD-XML元數據

目前我能夠使用PHRETS函數GetMetadataTable和將&轉換爲XML格式將數據提取爲一個數組。

但最近我發現單個STANDARD-XML元數據(整個資源和類)和單個類元數據的區別。使用元數據查看器服務RETSMD.com(基於PHRETS),從STANDARD-XML元數據獲取的類名稱也不同,無法查看詳細信息。

注:我通過直接瀏覽器標準的XML元數據的登錄憑證使用,這樣 http://rets.login.url/GetMetadata?Type=METADATA-TABLE&Format=STANDARD-XML&ID=0

任何人都面臨着同樣的?有沒有使用PHP的解決方案?

在此先感謝!

+0

我的理解是,這是一箇舊帖子,但我想知道如果你解決了你的問題 – Kamamba

+0

@Kamamba,是的,我得到的解決方案,張貼如下。 –

回答

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'