2010-12-20 73 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 2010-12-20 21:35:17

回答

1

,我认为这就是问题所在:

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

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

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

谢谢!它与isset一起工作! – Thijs 2010-12-21 11:06:44

相关问题