Ответ 1
есть ли библиотека, которая может дать мне XPATH для всех узлов на странице HTML
Да, если эта HTML-страница является хорошо сформированным XML-документом.
В зависимости от того, что вы понимаете под "node"...
//*
выбирает все элементы в документе.
/descendant-or-self::node()
выбирает все элементы, текстовые узлы, инструкции по обработке, узлы комментариев и корень node /
.
//text()
выбирает все текстовые узлы в документе.
//comment()
выбирает все узлы комментариев в документе.
//processing-instruction()
выбирает все инструкции обработки в документе.
//@*
выбирает все атрибутные узлы в документе.
//namespace::*
выбирает все узлы пространства имен в документе.
Наконец, вы можете комбинировать любое из приведенных выше выражений, используя оператор union (|
).
Таким образом, я считаю, что следующее выражение действительно выбирает "все узлы" любого документа XML:
/descendant-or-self::node() | //@* | //namespace::*