У меня есть узел, который содержит текст 'The f'
:Как получить первый узел до текущего узла, который содержит текст с помощью Nokogiri?
<w:r w:rsidR="00BC78BF">
<w:t>e takes out his phone and calls a friend.</w:t>
</w:r>
<w:r w:rsidR="00CB49B6">
<w:t xml:space="preserve"/>
</w:r>
<w:ins w:author="Mitchell Gould" w:date="2016-11-14T14:23:00Z" w:id="8">
<w:r w:rsidR="00BC7F15">
<w:t>The f</w:t>
</w:r>
</w:ins>
Я хочу, чтобы получить первое вхождение текста, который существует до этого текстового узла.
Я попытался с помощью:
node.previous_element.text
=> " "
и
previous_node = node.xpath('preceding-sibling::w:r').last
=> " "
Это потому, что иногда previous_element
просто пространство, как показано выше, и вполне возможно, что там может быть много из этих элементов, просто пробелы.
Как я могу получить первый предшествующий родной брат, содержащий текст?
Что вы ожидаете получить? «Вынимает телефон и звонит другу». Что вы пробовали в коде? – mudasobwa
Я обновил свой вопрос, чтобы показать, что я пробовал. Да, я хотел бы получить «e», вытаскивает свой телефон и вызывает друга ». – chell
Получите коллекцию узлов' w: t' и переместите ее на один шаг назад, чтобы получить _previous элемент 'w: t'. рекурсивный 'previous_element', если это свойство' text' не пусто. – mudasobwa