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

问题描述 投票:0回答:1

这个问题在这里已有答案:

我希望解析这个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的正确语法..

谢谢!

php xml simplexml
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.