2012-08-28 43 views
0

我使用的是基於雲的聯繫人管理系統API與當我使用的print_r($ XML)返回下面的代碼PHP庫的SimpleXML節點值(在查看源文件)搜索聯繫人時:獲取未知名

SimpleXMLElement Object 
(
[id12345] => SimpleXMLElement Object 
    (
     [id] => 12345 
     [name] => Bob Smith 
     [parentid] => 51214064 
     [parentcn] => EGCTeam 
     [flagged] => SimpleXMLElement Object 
      (
      ) 

     [created] => 2012-08-24T18:39:22+00:00 
     [viewed] => 2012-08-28T10:39:49+00:00 
     [updated] => 2012-08-28T10:41:05+00:00 
    ) 

[count] => 1 
[status] => success 
) 

通常我會使用此代碼訪問「名稱」字段:

$contactName = $xml->id12345->name 

但由於第一個節點包括,我不知道這個ID,我如何訪問聯繫人的值是多少?我試過這個:

$contactName = $xml->children()->name 

但它沒有工作(出來空白)。任何幫助,將不勝感激。

回答

0

您可以使用SimpleXMLElement::getNamefunction獲取SimpleXML元素的名稱,並通過在id後面獲取字符串來解析名稱中的id。

例如(如果$迴應是SimpleXML的元素):

foreach ($response->children() as $child) 
{ 
    $name = $child->getName(); 
    $id = substr($name, 2); 
    // Do stuff here with id or access node by $name // 
} 
+0

謝謝!這足以讓我走了。由於我只需要第一個節點,所以這對我有用: $ contacts = $ xml-> children(); $ contactName = $ contacts [0] - > name; echo $ contactName;' – TomC