2013-03-20 48 views
0

我試圖分析出如下回應:的SimpleXMLElement解析問題與PHP

SimpleXMLElement Object ( 
    [responseType] => SimpleXMLElement Object ( 
     [inputConceptName] => aspirin [inputKindName] => %) 
    [groupConcepts] => SimpleXMLElement Object ( 
     [concept] => Array ( 
      [0] => SimpleXMLElement Object ( 
       [conceptName] => ASPIRIN 
       [conceptNui] => N0000145918 
       [conceptKind] => DRUG_KIND) 
      [1] => SimpleXMLElement Object (# 
       [conceptName] => Aspirin 
       [conceptNui] => N0000006582 
       [conceptKind] => INGREDIENT_KIND) 
))) 
在PHP

。我把它保存爲一個字符串捲曲:

$xml = simplexml_load_string($data); 
print_r($xml); 

如何獲得的第一個對象只是conceptNui作爲PHP變量?

回答

1

看看文檔,它給簡單的例子來了解友好的語法來提取數據:

http://www.php.net/manual/en/simplexml.examples-basic.php

你的情況,則可能是:

$xml->groupConcepts->concept[0]->conceptNui 

由於你的結構是

SimpleXMLElement Object ( 
    [responseType] => SimpleXMLElement Object ( 
    [inputConceptName] => aspirin 
    [inputKindName] => %) 
    [groupConcepts] => SimpleXMLElement Object ( 
    [concept] => Array ([0] => SimpleXMLElement Object ( 
        [conceptName] => ASPIRIN 
        [conceptNui] => N0000145918 
        [conceptKind] => DRUG_KIND) 
       [1] => SimpleXMLElement Object ( 
        [conceptName] => Aspirin 
        [conceptNui] => N0000006582 
        [conceptKind] => INGREDIENT_KIND) 
      ) 
     ) 
) 
+0

我認爲你的答案是對的,只是試圖扼殺最後一塊。我如何讓最後一部分成爲一個實際的PHP變量? $ ch = curl_init(); curl_setopt($ ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ ch,CURLOPT_URL,$ url); $ data = curl_exec($ ch); curl_close($ ch); $ xml = simplexml_load_string($ data); $ xml-> groupConcepts-> concept [0] - > conceptNui; – NCoder 2013-03-20 05:18:21

+0

'$ conceptNui = $ xml-> groupConcepts-> concept [0] - > conceptNui;'? – MatRt 2013-03-20 05:25:23

1
$conceptNui = $mainObj->groupConcepts->concept[0]->conceptNui;