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

时间:2018-01-30 14:11:22

标签: php xml 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的正确语法..

谢谢!

1 个答案:

答案 0 :(得分:0)

使用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