Собственно есть такой код
var source = new InputSource(new StringReader(html));
var xpath = XPathFactory.newInstance().newXPath();
var result = (String) xpath.evaluate(expression, source, XPathConstants.STRING);
Проблема в том, что кож заточен на парсинг XML, а мне нужно парсить HTML, который может содержать незакрытые теги и прочие радости HTMLной жизни, натыкаясь на которые данный код падает.
Есть ли какой-то способ парсить именно HTML со всеми его особенностями?
P. S. варианты с регулярками пока не рассматриваю.
UPD
Нашел вариант с использованием библиотеки
https://github.com/code4craft/xsoup
var document = Jsoup.parse(html);
var result = Xsoup.compile(expression).evaluate(document).getElements().get(0).text();
Но все-таки хотелось бы рассмотреть другие варианты, может быть есть что-то нативное, без установки дополнительных библиотек?