Intereting Posts
HTML -> PDF с PHP Обратная косая черта в сокращенной декларации CSS Получите полный путь всех файлов некоторых типов из html-файла и поместите их в массив с помощью js / jQuery Масштабирование планшета моей веб-страницы на 1,5 раза, что вызывает проблемы с макетом Как сделать две диаграммы, использующие highchart, отображаться в одной строке бок о бок, используя div Как выполнить функцию узла с помощью кнопки html Настольный вертикальный заголовок? Создание простой страницы загрузки файла HTML скрыть полосу прокрутки, пока она еще доступна для прокрутки с помощью мыши / клавиатуры Как исправить Div до верхней части страницы только с помощью CSS Нижний колонтитул внизу страницы или содержимого, в зависимости от того, что меньше Вертикально выравнивать текст в диапазоне с фиксированной шириной и высотой Теги html в тегах параметров keyCode на android всегда 229 как включить / отключить div с помощью javascript в таймере

Выбор языка XPath

У меня есть этот HTML / XML:

\t\t\t\t\t \r\n\t\t   blabla   
this is the text I want
code: 123
\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t

В C # 4 я использую HtmlAgilityPack lib для выбора узла с XPath и получения свойства InnerText. Это получит весь текст внутри узла. Как я могу получить только текст «это текст, который я хочу»?

/text() возвращает \t\t\t\t\t \r\n\t\t

 /div/text() 

Из приведенного примера этот XPath получит все текстовые узлы под элементом div, в этом случае test2.

Если бы вы могли подробнее остановиться на вопросе, мы могли бы помочь вам. Div содержит 3 дочерних элемента: элемент span, текстовый узел и элемент ab. Каждый из них и b имеют дочерний элемент текстового узла. Используя XPath, вы можете выбирать только элементы (/ div / *), только текстовые узлы (/ div / text ()) или все типы узлов (/ div / node ()).

EDIT: / text () будет возвращать только текстовые узлы корневого уровня. В этом случае я ожидаю, что он вернет список узлов, содержащий 3 текстовых узла:

 \t\t\t\t\t \r\n\t\t this is the text I want \t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t 

Возможно, вы выбираете только первый узел в списке результирующих узлов? Есть несколько проблем правильной формы, например, ваш сайт должен быть
.

@peter: вы не должны редактировать свой вопрос, чтобы люди не видели, как принятый ответ относится к вопросу !!!

Ответ на ваш новый вопрос:

 /br[1]/following-sibling::text()[1] 

выбирает желаемый текстовый узел (кавычки мои):

 " this is the text I want " 

Как я могу получить только текст «это текст, который я хочу»?

 text()[preceding-sibling::node()[1][self::br]] [following-sibling::node()[1][self::br]] 

Значение: текстовый узел между двумя элементами br .