2011-08-15 2 views
0

나는 1 시간 이상 Google 검색을 해본 적이있어 매우 실망 스럽다. 인쇄하려고하는 것은 내 계정 ID입니다. 다음은 xml입니다. 서버에서 반환되었습니다.SimpleXML 문제 인쇄 키 값

SimpleXMLElement Object 
(
[accounts] => SimpleXMLElement Object 
    (
     [account] => SimpleXMLElement Object 
      (
       [billingStreet] => SimpleXMLElement Object 
        (
        ) 

       [billingCity] => SimpleXMLElement Object 
        (
        ) 

       [billingState] => SimpleXMLElement Object 
        (
        ) 

       [billingPostalCode] => SimpleXMLElement Object 
        (
        ) 

       [billingCountry] => SimpleXMLElement Object 
        (
        ) 

       [city] => Los Angeles 
       [accountId] => XXXXX 
       [companyName] => SimpleXMLElement Object 
        (
        ) 

       [country] => United States 
       [email] => XXXXX 
       [enabled] => 1 
       [fax] => SimpleXMLElement Object 
        (
        ) 

       [firstName] => XXXXX 
       [lastName] => XXXXX 
       [multiClientFolder] => 0 
       [multiUser] => 0 
       [phone] => XXXXX 
       [postalCode] => XXXXX 
       [state] => CA 
       [street] => XXXXX 
       [title] => SimpleXMLElement Object 
        (
        ) 

       [accountType] => 0 
       [subscriberLimit] => 250000 
      ) 

    ) 

[total] => 1 
[limit] => 20 
[offset] => 0 
) 

내가 원하는 것은 accountId입니다. 나는 이것을 사용하고 그것은 아무것도 인쇄 나던 :

$ch=curl_init("https://app.sandbox.icontact.com/icp/a/"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
$buf = curl_exec($ch); 
curl_close($ch); 
$xml = simplexml_load_string($buf); 
$aid=$xml->$accounts->$account->$accountId; 
print($aid); 

내가 생각 인 print_r와 잘 전체 XML 배열을 인쇄 할 수 있습니다. 내가 무엇을 잘못하고 있는지 확실하지 않음

답변

3

아마도 $ aid = $ xml-> accounts-> account-> accountId ;? 계정을 통해

$aid = $xml->accounts->account[0]->accountId; 

또는 반복 : 응답에 두 개 이상의 계정을 얻을 수있는 가능성이있는 경우

+0

이렇게 간단합니다. 고맙습니다. 내가 –

+0

도와 드리면 답으로 선택하겠습니다. – madc

1

, 당신은 계정 요소에 배열 인덱스를 추가 할 수 있습니다

foreach ($xml->accounts->account as $account) { 
    ... 
} 

또한 $ aid는 SimpleXMLElement 유형이어야합니다. 대부분의 경우이 상태 그대로 사용할 수 있으며 해당 유형으로 자동 캐스팅되지만 값을 문자열로 사용하려면 명시 적 형변환을 사용할 수 있습니다.

$aid = (string) $xml->accounts->account[0]->accountId;