duanqian8867 2013-03-20 05:06
浏览 74
已采纳

PHP的SimpleXMLElement解析问题

I'm trying to parse out the following response:

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 ) 
) ) ) 

in PHP. I have it stored as a curl string:

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

How do I get just the conceptNui of the first object as a PHP variable?

  • 写回答

2条回答 默认 最新

  • dongmozhui3805 2013-03-20 05:11
    关注

    Take a look at the documentation, it give simple example to understand the friendly syntax to extract the data :

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

    In your case, it could be :

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

    As your structure is

    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 ) 
                  )
              )
      )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?