Подстановочные знаки XPath для имени узла

Узнайте о isset, который является встроенной «функцией», которая может использоваться в операторах if, чтобы определить, использовалась ли переменная или установлена ​​

. Пример:

    if(isset($_POST["testvariabel"]))
     {
       echo "testvariabel has been set!";
     }
41
задан Ben Everard 17 November 2010 в 09:36
поделиться

4 ответа

Это правильное выражение XPath 1.0, которое выбирает элемент с последними 5 символами имени, равными «_cost» в любом пространстве имен.

/data/stats/*[substring(name(), string-length(name()) - 4) = '_cost']
64
ответ дан 17 November 2010 в 09:36
поделиться

Вы также можете использовать contains

, например,

/data/stats[contains(.,'_cost')] 
6
ответ дан redsquare 17 November 2010 в 09:36
поделиться

С XPath 1.0 вы можете использовать шаблон /data/stats/*[substring-after(name(), '_cost') = '']. Это проверяет, заканчивается ли имя элемента суффиксом _cost.

В XPath 2.0 есть fn:ends-with(str, str), и ваше соответствующее выражение будет *[ends-with(name(), '_cost')].

6
ответ дан dan-gph 17 November 2010 в 09:36
поделиться

Вышесказанное не сработало для меня. Мне пришлось «слегка» изменить это следующим образом:

/data/stats/*[contains(name(),'_cost')]
4
ответ дан David W. 17 November 2010 в 09:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: