У меня есть некоторые трудности в понимании этого выражения / синтаксиса XPATH - PullRequest
1 голос
/ 19 сентября 2011

здесь xpath используется для выбора узлов.

document.SelectNodes("my/node/url/@*[name(.)!='name_excluded']");

Я могу понять @ * и ! = '' Но я не могу понять [имя (.) некоторого предиката]

Я не нашел ссылку для (.) в XPath (w3 org)

Ответы [ 2 ]

2 голосов
/ 19 сентября 2011

. в предикате относится к текущему узлу (это AbbreviatedStep )

name() - это функция, которая принимает набор узлов (здесь мы передаем ему узел контекста) и возвращаем его имя

Итак, отсутствующие части вашего понимания: мы собираемся вернуть любой атрибут (@*) ТАКОГО, что атрибут имя не name_excluded.

1 голос
/ 19 сентября 2011

@* выбирает все атрибуты всех узлов url. name(.) для каждого из этих атрибутов является его именем, поэтому выбираются все атрибуты url узлов, кроме атрибутов name_excluded.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...