Как я могу использовать операцию AND в своем выражении xpath, чтобы найти общее число авторов с pid = 1234 в папке article и inproceedings? - PullRequest
0 голосов
/ 26 апреля 2020
<?php

$xmlDoc = new DomDocument();
$xmlDoc -> load("books.xml");


$xpath = new DOMXpath($xmlDoc);
$elements = $xpath->evaluate("//dblpperson/r/**article**/author[@pid = '1234']" | "//dblpperson/r/**inproceedings**/author[@pid = '1234']" );

echo count($elements);

?>

Это дает ошибку. Пожалуйста, предложите правильный способ использования оператора AND.

1 Ответ

0 голосов
/ 26 апреля 2020

Просто используйте (вы можете удалить функцию XPath count (), если вы этого не хотите):

count(//author[@pid="1234"][parent::article or parent::inproceedings])

Пример с: https://dblp.org/pers/g/Gauthier: Fran = ccedil = ois. xml

count(//author[@pid="65/9612"][parent::article or parent::inproceedings])

Результат: 21

...