К вашему сведению, точка терминологии: текстовый узел не является элементом.
В любом случае, самый краткий способ выбрать родителя текущего узла - ..
Итак,имя родительского элемента текущего узла (который может быть текстовым узлом): name(..)
Подстановка этого в выражение XPath:
//text()[name(..)='p']
Но менее окольный способ записиэто будет
//p/text()
(при условии, что элементы p
в документе не имеют префикса пространства имен).В любом случае вы выбираете все текстовые узлы, которые являются потомками элементов с именем p
.