如何使用简单 xml 解析 xml 输出的特定子项?

How do I parse a specific child of xml output using simplexml?

我想解析此 XML 输出,但只获取 "doi" 记录的值(例如 10.1038/onc.2012.390)

<ArticleIdList>
  <ArticleId IdType="pubmed">22986524</ArticleId>
  <ArticleId IdType="pii">onc2012390</ArticleId>
  <ArticleId IdType="doi">10.1038/onc.2012.390</ArticleId>
</ArticleIdList>

有人可以告诉我如何完成这个吗? 我用过

$xml = simplexml_load_file($query) or die("Error, feed not loading");

创建对象,但无法找出正确的语法来移动 fw..

谢谢!

具有SimpleXMLElement::xpath ( string $path )功能:

$xml =  simplexml_load_file($query) or die("Error, feed not loading");
$article_doi = (string) $xml->xpath('//ArticleId[@IdType="doi"]')[0];

print_r($article_doi);

输出:

10.1038/onc.2012.390

http://php.net/manual/en/simplexmlelement.xpath.php