Можно ли использовать XPath с .NET без использования каких-либо внешних библиотек?Поддерживается ли он изначально и может ли он анализировать «недопустимый HTML» (например, теги не закрываются и т. Д.)?
Мне бы очень не хотелось использовать для этого регулярные выражения, как четко указано здесь: RegEx соответствует открытым тегам, за исключением автономных тегов XHTML
У меня также был плохой опыт работы с регулярными выражениями, когда дело доходит до разбора HTML.
Да, XPath изначально поддерживается.Нет, это не будет разбирать тег супа.Возможно, вы захотите использовать вместо этого HTML Agility Pack .
XPath поддерживается в .NET с первого дня. Однако он поддерживает только правильно сформированный XML.Не весь допустимый HTML - это правильно сформированный XML, а незакрытые теги - это не правильно сформированный XML.
Да. См. System.Xml.XPath.XPathExpression . Он находится в System.Xml.dll, который включен на любой компьютер, на котором установлен .NET Framework.
Не уверен насчет вопроса о незакрытых тегах HTML. Небольшой эксперимент должен ответить на этот вопрос довольно быстро.