Вы хотите :
//book[contains(content, $searchString)
and
author = $wantedAuthor
]
/bookname/text()
Это выбирает узлы text()
, которые являются дочерними элементами для элемента bookname
, который является дочерним для любого элемента book
в документе, строковое значение которого content
child содержит строку (содержится в) $searchString
и строковое значение элемента author
которого совпадает с (строка, содержащаяся в) $wantedAuthor
переменная
В этом выражении Xpath переменные должны быть заменены конкретными строками. Также предполагается, что элемент content
является потомком book
.
Я не знаю Java, но предположим, что окончательный код Java будет выглядеть следующим образом:
String.format("//book[contains(content, '%s')
and
author= '%s']/bookname/text()",
searchString, authorBook);