2010-08-26 2 views
1

Я хочу написать выражение XPath, которое выбирает все непустые дочерние элементы table:table-cell текущего элемента. Как мне это сделать?Как написать селектор XPath, который выбирает только непустых детей?

+0

Вы можете разместить некоторые образец XML и ожидаемый результат? – Oded

ответ

1
выражение

XPath, который выбирает все непустых table:table-cell детей

В Xpath 1,0

table:table-cell[node()] 

Примечание: Этот элемент не является пустым:

<table:table-cell>Something</table:table-cell> 

Но выражение table:table-cell[count(*) > 0] не выбирает, потому что это означает: все table:table-cell chindren, имеющий по меньшей мере один элемент ребенок

+0

О, хорошо. В моей ситуации различие на самом деле не имело значения, но спасибо за объяснение. Будет ли table: table-cell [count (node ​​())> 0] 'быть эквивалентной? – Eric

+0

@ Эрик: Да. Это выражение эквивалентно, но гораздо более многословно. Важно отметить, что логическое значение не пустого узла является истинным. – 2010-09-01 22:57:29

1

Понял:

table:table-cell[count(*) > 0]

+0

это неправильно. Проверьте мой ответ для объяснения. – 2010-08-26 14:30:40

Смежные вопросы