Я использую утилиту командной строки 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, который довольно пуст: 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 =
Спасибо