как получить горизонтальную глубину узла? - PullRequest
1 голос
/ 31 января 2010

обратите внимание, я составил термин горизонтальная глубина, чтобы измерить подразмерность узла в дереве.

так что представьте, что xpath будет иметь что-то вроде / html / table / tbody / tr / td и "горизонтальную глубину" 5

Я пытаюсь увидеть, есть ли способ определить и выбрать элементы на основе этой горизонтальной глубины.

как мне найти максимальную глубину?

Ответы [ 2 ]

4 голосов
/ 31 января 2010

Если вам нужны все узлы с глубиной> = 5:

/*/*/*/*//*

А если вам нужны все узлы с глубиной == 5:

/*/*/*/*/*

На самом деле есть функция XPath count, которую можно объединить с осью ancestor:

//*[count(ancestor::*) >= 4]
1 голос
/ 31 января 2010

Я думаю, что «вертикальная глубина» и «горизонтальная глубина» неоднозначны. Есть ли причина не использовать терминологию осей, которая уже существует в XPath, и ссылаться на «количество предков» и «количество предшествующих братьев и сестер»? Это немного более многословно, но не очень, и а) это однозначно и б) термины отображаются на count(ancestor::*) и count(preceding-sibling::*).

...