Возможные дубликаты:
выбор значения атрибута в SimpleXML
SimpleXML: выбор элементов, имеющих определенное значение атрибута
Я анализирую XML-документ и ищу определенный идентификатор. Значение идентификатора указывается в элементе ArticleId в атрибуте «pii». Необработанный XML:
<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
)
)
Я ищу идентификатор "S0002...", который идентифицируется в необработанном XML атрибутом "pii".
Как мне проверить/получить значение на основе определенного атрибута?