抱歉,我忘记检查$ MeshHeading-> QualifierName ...现在我做了......但我仍然收到错误...?
如果得到这个简单的XML对象:
[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 :(得分:1)
我认为这是问题所在:
if ($MeshHeading->QualifierName);
________________________________^ <-- remove semicolon
if ($MeshHeading->QualifierName)
{
...
}
/* even better */
if (isset($MeshHeading->QualifierName))
{
...
}