Запрос нескольких элементов без указания имени элемента - PullRequest
3 голосов
/ 04 января 2012

Это может быть глупый вопрос, но возможно ли сделать запрос с использованием XPath без указания имени элемента? Обычно я бы написал что-то вроде

//ElementName[@id = "some_id"]

Но дело в том, что у меня есть много (около 40) различных типов элементов с атрибутом id, и я хочу иметь возможность вернуть любой из них, если идентификатор подходит. Но я не хочу делать этот вызов для каждого типа в отдельности. Можно ли искать все сразу, независимо от имени?

Я использую это в скрипте XQuery, если он предлагает какую-либо помощь.

Ответы [ 2 ]

5 голосов
/ 04 января 2012

используйте * вместо имени //*[@id = "some_id"]

1 голос
/ 05 января 2012

Возможно, будет более эффективно посмотреть непосредственно на элементы @id - // * будет работать, но сначала вернет каждый узел в документе, а затем отфильтрует!

Это может не иметь значения в небольшом документе, конечно. но вот альтернатива:

//@id[.="some_id"]/..
...