Я использую утилиту командной строки perl xpath для извлечения данных из некоторого HTML-кода следующим образом:
#!/bin/bash
echo $HTML | xpath -q -e "//h2[1]"
HTML имеет неправильный формат, в результате чего xpath выдает следующую ошибку:
not well-formed (invalid token) at line X, column Y, byte Z:
Я не могу по-настоящему исправить HTML, поскольку он предоставляется внешним источником, а это означает, что каждый раз, когда HTML-код изменяется, мне придется снова исправлять его вручную.
Я искал xpath man, который довольно хорошempty: http://www.linuxcertif.com/man/1/xpath.1p/
Мне было интересно, найдется ли способ заставить xpath игнорировать искаженный HTML.Чтобы дать вам представление о том, как это неправильно, вот несколько строк из исходного кода:
<div id="header-background" style="top: 42px; > </div> <---- missing closing "
<div id-"page-inner"> <---- - instead of =
Спасибо