2010-12-20 11 views
1

申し訳ありませんが、$ MeshHeading-> QualifierNameのチェックを入れていたのを忘れてしまったようです...今は... ...でも、まだエラーが表示されます...?同じsimplexmlobjectファイルで異なる出力を取得していますか?

このsimpleXMLobjectだ場合:私はこのコードを入れた場合

[MeshHeading] => Array 
             (
              [0] => SimpleXMLElement Object 
               (
                [DescriptorName] => Acoustic Stimulationment Object 
                [QualifierName] => methods 
               ) 

              [1] => SimpleXMLElement Object 
               (
                [DescriptorName] => Adolescent 
               ) 

              [2] => SimpleXMLElement Object 
               (
                [DescriptorName] => Age Factors 
               ) 

              [3] => SimpleXMLElement Object 
               (
                [DescriptorName] => Child 
               ) 

              [4] => SimpleXMLElement Object 
               (
                [DescriptorName] => Electromyography 
                [QualifierName] => methods 
               ) 

              [5] => SimpleXMLElement Object 
               (
                [DescriptorName] => Female 
               ) 

              [6] => SimpleXMLElement Object 
               (
                [DescriptorName] => Galvanic Skin Response 
                [QualifierName] => physiology 
               ) 

              [7] => SimpleXMLElement Object 
               (
                [DescriptorName] => Humans 
               ) 

              [8] => SimpleXMLElement Object 
               (
                [DescriptorName] => Male 
               ) 

              [9] => SimpleXMLElement Object 
               (
                [DescriptorName] => Muscle, Skeletal 
                [QualifierName] => physiology 
               ) 

              [10] => SimpleXMLElement Object 
               (
                [DescriptorName] => Probability 
               ) 

              [11] => SimpleXMLElement Object 
               (
                [DescriptorName] => Reaction Time 
                [QualifierName] => physiology 
               ) 

              [12] => SimpleXMLElement Object 
               (
                [DescriptorName] => Sex Factors 
               ) 

              [13] => SimpleXMLElement Object 
               (
                [DescriptorName] => Startle Reaction 
                [QualifierName] => physiology 
               ) 

を:

if ($Citation->MeshHeadingList) 
    { 
    foreach ($Citation->MeshHeadingList->MeshHeading as $MeshHeading) 
    { 

    echo "<pre>"; 
    echo "[" .$MeshHeading->DescriptorName . "] "; 
    echo "[" .$MeshHeading->DescriptorName->attributes() . "]"; 
    echo "<br /"; 

    if ($MeshHeading->QualifierName); 
     { 
    echo "[" .$MeshHeading->QualifierName . "] "; 
    echo "[" .$MeshHeading->QualifierName->attributes() . "]"; 
    } 


    echo "</pre>"; 
    } 
    } 
else 
    { 
    echo "mesheading is missing in article " . $i . "<br />"; 
    $l++; 
    } 

私はこれを取得...?

[Acoustic Stimulation] [N] 

[Adolescent] [N] 


Warning: main() [function.main]: Node no longer exists in /home/thijs/project/phptest/pubmed_fetch.php on line 119 

[] 

[Age Factors] [N] 


Warning: main() [function.main]: Node no longer exists in /home/thijs/project/phptest/pubmed_fetch.php on line 119 

[] 

[Child] [N] 


Warning: main() [function.main]: Node no longer exists in /home/thijs/project/phptest/pubmed_fetch.php on line 119 

[] 

[Electromyography] [N] 

[Female] [N] 


Warning: main() [function.main]: Node no longer exists in /home/thijs/project/phptest/pubmed_fetch.php on line 119 

[] 

敬具 タイス

+0

(ISSET($ MeshHeading-> QualifierName)){// ...} – ngsiolei

答えて

1

私は、これが問題だと思う:

if ($MeshHeading->QualifierName); 
________________________________^ <-- remove semicolon 

if ($MeshHeading->QualifierName) 
{ 
    ... 
} 

/* even better */ 
if (isset($MeshHeading->QualifierName)) 
{ 
    ... 
} 
+0

おかげであれば!それはissetと一緒に働いた! – Thijs

関連する問題