Я загрузил веб-страницу в пакет Agility HTML и получил DOM. Я хочу использовать XPATH, чтобы вытащить весь текст на странице (но не код JavaScript, найденный в тегах <script>
).
Я полагаю, мне нужно // text (), а затем 'not', чтобы игнорировать любой тег внутри ветви, в котором есть <script>
.
Я пытался
doc.DocumentNode.SelectNodes("//text()[not(self::script)]"))
и
doc.DocumentNode.SelectNodes("//text()[not(script)]"))
но ни одна не работает. Пример свойства XPath узла, который они возвращают, (обратите внимание на сценарий)
/html[1]/body[1]/div[2]/div[4]/div[1]/div[1]/div[1]/div[3]/script[1]/#text[1]
Я советовался с обоими этими сообщениями.
Возможно ли выполнить сопоставление "не" в XPath?
Получить весь текст из html с помощью Html Agility Pack (Это хороший пост, но в нем рассказывается о JS)
Есть предложения?