2012-01-25 3 views
3

Я пытаюсь понять кусок кода, которым я должен управлять. Я нашел некоторые html-манипуляции, в которых HtmlAgilityPack используется для выбора некоторых узлов. Кто-то знает смысл этого селектора xpath?xpath синтаксис Значение

//table/*[not(self::tr or self::tbody)] 
+0

Какая часть (ы) вы не понимаете? – AakashM

+0

Какие элементы я ожидаю? В форме «Для каждой таблицы все дочерние элементы, которые проверяют [условие]», – g1ga

ответ

2

На английском языке:

Выберите элемент узла (*) таким образом, что это само по себе не tr или tbody ([not(self::tr or self::tbody)]) и что ребенок из table элемент, который может появиться в любом месте в документе (//table).

Это эквивалентно следующему оон-сокращенные выражения

/descendant-or-self::node()/child::table/child::*[not(self::tr or self::tbody)] 
2

self представляет собой удобный способ обращения к имени узла элемента рассматриваемого, без пространств имен.

В этом примере мы будем соответствовать любой элемент, который является дочерним элементом table и является неtr или tbody.

Смежные вопросы