2017-02-04 13 views
0
<function name="getMemberInfo"> 
    <component name="people"> 
     <property name="ppl_firstname"> 
      <![CDATA[ Jamie ]]> 
     </property> 
    </component> 
</function> 

ppl_firstnameを取得しようとしています。上記のXML表示は、APIのURLによって解析されたコードの一部です。PHPで配列を使用して値要素[@attributes]を取得する方法

Array ([@attributes] => 
    Array ([name] => getMemberInfo) [component] => 
     Array ([0] => 
      Array ([@attributes] => 
       Array ([name] => people) [property] => 
        Array ([0] => Jamie [1]) 
       ) 
      ) 
     ) 

ことができます誰:

私は

$url="" 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, $url); // get the url contents 
$data = curl_exec($ch); // execute curl request 
curl_close($ch); 

が、私はこのように出力配列

$xml = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA); 
$xmlJson = json_encode($xml); 
$xmlArr = json_decode($xmlJson, 1); // Returns associative array 

にデータを入れているURLの内容を取得するためにカール使用していましたどのように私は名前を取得することができます私に教えてください。事前に感謝します

+0

名前は何ですか?ジェイミー? '人々? 'memberInfo'? –

+0

ありがとう@u_mulder私はプロパティ値<![CDATA [Jamie]]> –

答えて

0

あなたがしなければならないことは、最初に子供にアクセスすることですpropertyこの子の属性にアクセスすることができます。

$xml_string = '<function name="getMemberInfo"> 
        <component name="people"> 
          <property name="ppl_firstname"> 
           <![CDATA[ Jamie ]]> 
          </property> 
        </component> 
       </function>'; 
$function = simplexml_load_string($xml_string); 
$component= $function->children(); 
//access your property children 
$property = $component->children(); 
$property_name = $property->attributes()->name; 
//check if it prints the right name 
echo "Property name: ".$property_name 
+0

が必要です。 –

+0

私はそれがうれしいです! @JamieYouell – kampangala

関連する問題