2017-03-13 7 views
0

Zoho CRM APIを使用しているため、1つの製品のみを挿入するときに製品IDを抽出できましたが、複数の製品で行う方法はわかりません。 https://www.zoho.com/crm/help/api/insertrecords.html#Insert_Multiple_recordsZoho CRM API simpleXMLelement複数の製品IDを取得

私はにSimpleXMLElementへの応答を変換し、私は簡単に最初の製品のIDを取得することができます:私は、ループ内の各1になるだろうどのように複数の製品IDのを返送された場合は問題がある

...curl stuff 
$data = curl_exec($ch); 
$xml = new SimpleXMLElement($data); 
$product_id = $xml->result->recorddetail->FL[0]; 

私のコードは最初のプロダクトIDだけを正常に返します。それは太字で現れたが**で囲まれた二つの値は、私が探しています何であれば

SimpleXMLElement Object ([@attributes] => Array ([uri] =>  
/crm/private/xml/Products/insertRecords) [result] => SimpleXMLElement 
Object ([message] => Record(s) added successfully [recorddetail] => Array ( 
[0] => SimpleXMLElement Object ([FL] => Array ([0] => **2389399000000122065** 
[1] => 2017-03-12 21:33:50 [2] => 2017-03-12 21:33:50 [3] => 
SimpleXMLElement Object ([@attributes] => Array ([val] => Created By)) 
[4] => SimpleXMLElement Object ([@attributes] => Array ([val] => Modified 
By)))) [1] => SimpleXMLElement Object ([FL] => Array ([0] => 
**2389399000000122066** [1] => 2017-03-12 21:33:50 [2] => 2017-03-12 21:33:50 
[3] => SimpleXMLElement Object ([@attributes] => Array ([val] => Created 
By)) [4] => SimpleXMLElement Object ([@attributes] => Array ([val] => 
Modified By))))))) 

わからない:これは2 APIに挿入した製品と返された応答からの応答の例でありますエキス。

+0

、それは、かなりのSimpleXMLよりも、実際のXMLのサンプルを表示するのが最善です:あなたはこのような「文字列のキャスト」、とのことを得ますSimpleXMLにうまく対処し、XMLから誰でも自分のコードを再現してソリューションをチェックすることができます。 – IMSoP

答えて

1

これの鍵は、このことを理解することです:

$xml->result->recorddetail->FL[0]; 

は、このためだけの省略形です:

それは明らかに(インデックス 1で)第二 recorddetailにアクセスすることを確認する必要があり
$xml->result[0]->recorddetail[0]->FL[0]; 

これを書くことができます:

$xml->result->recorddetail[1]->FL[0]; 

count($xml->result->recorddetail); 

そして、あなたのケースのための最も意義がそれらをループ::魔法のSimpleXMLはあなたがそこにあるどのように多くのもを見つけることができます提供して

foreach ($xml->result->recorddetail as $recorddetail) { 
    $product_id = $recorddetail->FL[0]; 
} 

最後のヒントとして、あなたはおそらく$product_id変数をしたいですSimpleXMLオブジェクトではなく、通常の文字列を保持する。 `print_r` /` var_dump`がないため、このような質問で

$product_id = (string)$recorddetail->FL[0]; 
+0

IMSoPをご利用いただきありがとうございます。詳細な説明のおかげで、ソリューションは完全に理解しやすくなりました。 –

関連する問題