我正在解析一个XML文档,寻找特定的ID。该ID的值在属性"pii"下的ArticleId元素中提供。原始的XML如下:
可能的重复问题:
SimpleXML中的属性值选择
SimpleXML:选择具有特定属性值的元素
<ArticleIdList>
<ArticleId IdType="pubmed">12676398</ArticleId>
<ArticleId IdType="pii">S0020729202004460</ArticleId>
</ArticleIdList>
以下是整个文档的参考:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=12676398&retmode=xml&rettype=abstract 使用simplexml_load_file()函数,我正在遍历文档以获取值。以下是如何到达ArticleId元素的方法:
$xml_PubmedArticle->PubmedData->ArticleIdList->ArticleId;
问题在于ArticleId中的属性顺序是随机的。某些ArticleId元素在第二个元素中包含“pii”值(如下所示),而其他记录在第二个元素中具有不同的属性(“doi”)。
SimpleXMLElement Object
(
[ArticleId] => Array
(
[0] => 12676398
[1] => S0020729202004460
)
)
变体:
SimpleXMLElement Object
(
[ArticleId] => Array
(
[0] => 1234
[1] => ABC123
[2] => S002012345678
)
)
我正在寻找标识为“pii”的原始XML中的“S0002…” ID。您应该如何检查/获取特定属性的值?