Как указано в nonnb, производительность двойной косой черты в больших XML-документах низкая.
Таким образом, //name
сделает свое дело, но может принести гораздо больше элементов, которые вы ожидаете.
Кроме того, представьте, что внутри вашего корневого элемента есть элементы, которые не являются лицами, у которых может быть элемент потомков с именем name , в соответствии с вашим вопросом вы не хотите их поднимать, //name
приведет их до.
Вы должны привязать свой контекстный узел на максимуме, чтобы производительность XPath была оптимальной.
Для этого точного документа я бы использовал
/root/descendant::person/name
Надеюсь, это поможет,