Проблема в том, что HTML не является XML, несмотря на все сходства.Вот почему вы не можете обычно анализировать HTML с помощью синтаксического анализатора XML (что необходимо для использования большинства реализаций XPath).
Один из вариантов - использовать что-то вроде TagSoup (Java), Beautiful Soup (Python) или аналогичная библиотека для других платформ.Эти библиотеки позволяют анализировать HTML, как если бы он был XML, что означает, что стандартные библиотеки XML могут затем использоваться для обработки данных (XPath, XSLT, манипуляции с DOM, события SAX и т. Д.) *
Другойможно попробовать использовать что-то вроде xmllint (с параметрами --html
и --xmlout
).Это преобразует HTML в правильный XML, что позволяет вам использовать любые инструменты XML, которые вы хотите.