2015-01-19 2 views
0

может кто-нибудь объяснить мне, почему это условие возврата ложно в этом следующего XPATH запросеXPath запрос условный тест сравнение 2 числовых значения

XML

<?xml version="1.0" encoding="UTF-8"?> 
<a>ha</a> 

XPath запрос

счет (// a) возврат 1.

но

test = "(count (// a) > 0)" return false?

Спасибо

+1

"* test =" (count (// a)> 0) "return false *" Как вы пришли к такому выводу? –

+0

Вы правы. Я думаю, что при установке test = "whatever" в редактор запросов xpath всегда будет возвращаться false – timpham

+0

'test =" any "' не является выражением XPath; это атрибут инструкции XSLT, например. ' Да'. –

ответ

2

В запросе

test="(count(//a) > 0)" 

test относится к дочернему элементу узла документа под названием "тест". Если такого элемента нет (что здесь имеет место), вы сравниваете пустой набор со строкой «count (// a)> 0». Сравнение пустого набора с чем-либо возвращает false.