2015-01-16 2 views
-2

Я ищу одно сообщение XPATH, который может выбирать текст в теле, но исключать что-либо в тегах, включая теги скриптов.XPATH Строка для текста нет в тегах

//body//text(), как представляется, выбирает оба случая.

Вот два случая:

Случай 1: <body> Select this text </body>

Случай 2: <body> select this text <script> don't select this text </script> </body>

спасибо заранее.

+0

ЗАВИСИТ из инструментов, которые вы используете. 'xmllint --html --xpath '// body/text()' file' дает ожидаемый результат –

+0

Я использую libxml2 с htmlParseDoc, а // body/text() xpath не возвращает требуемые результаты (согласно выше). – AnonPyDev

+1

Это xpath _exactly_, что необходимо для обработки этих случаев, когда вы отправляли ... только текст, который является прямым потомком тегов body. Если есть больше случаев, вам нужно показать нам. –

ответ

0

Использование

//text()[parent::body] 

применительно к документу, как

<html> 
    <body>YES YES 
    <script>NO NO</script> 
    YES YES 
    </body> 
</html> 

она возвращает (индивидуальные результаты, разделенные -----)

YES YES 

----------------------- 

YES YES 
Смежные вопросы