本週的的代碼方面的工作比較少,主要是編寫一個測試用例,然後開始撰寫相關的文檔
中期報告提到,我們調用OData數據服務返回的結果是xml格式的文檔,那麼我們的測試用例就應該對其進行解析,這裏我們採用了SimpleXml這個類
原理就是講返回的xml文檔解析成一個xml對象,然後處理其中的屬性和內容
<?php
$contents = file_get_contents("http://127.0.0.1/SugarCRM.svc/Contacts(id='1250c7bd-6664-6a31-b96f-53c156b9ef7e')");
//print_r($contents);
/*$xml = simplexml_load_string($contents);
print_r($xml);
$m_elements = $xml->children('m', TRUE);
$m_properties = $m_elements->properties;
$d_elements = $m_properties->children('d', TRUE);*/
$x = new SimpleXmlElement($contents);
foreach($x->entry as $t){
foreach ($t->content as $con) {
$namespaces = $con->getNameSpaces(true);
$m = $con->children($namespaces['m']);
$m_properties = $m->properties;
$namespaces1 = $m_properties->getNameSpaces(true);
$d = $m_properties->children($namespaces1['d']);
echo $d->id;
echo $d->first_name;
echo $d->last_name;
}
}
/*echo $t->id . "<br >";
echo $t->updated . "<br />";
$namespaces = $t->getNameSpaces(true);
$gd = $t->children($namespaces['gd']);
echo $gd->phoneNumber;
*/
//echo $d_elements->id;
?>
其中首先打開數據服務的url,獲取其中內容,然後建立一個xml對象,並逐級進行解析
這裏與一般的xml不同的是需要對命名空間同時進行解析,就是其中的getNameSpacs函數,按照命名空間解析之後即可返回數據。
然後撰寫文檔的內容基本與之前的博客相同,在此就不再進行贅述。