Возвращенные узлы xml_document
никогда не нарушаются от исходного источника. Вы всегда можете двигаться вперед и назад, с той лишь разницей, что «указатель» находится на текущем найденном узле.
Что вам нужно сделать, так это изменить свой XPath так, чтобы он не выполнял «полный поиск документов»: специальный //
(то есть «потомок или сам» ) начинается с корень и пересекает все узлы. Вместо этого используйте следующее:
book_title_xpath = 'Document:Title'
, который вернет первого ребенка с именем «Заголовок». Если вам нужно найти все подузлы в узле Book, вы можете сделать следующее:
book_title_xpath = './/Document:Title'
, который добавляет .
и означает «начать с текущего узла и найти текущий узел и всех его потомков» .