Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

xpath


NieL ©   (2011-04-05 12:27:00) 

помогите составить xpath-выражение:

есть xml:

<items>
<item1 A = '' />
<item2 />
</items>

нужно проверить у нода item1 наличие атрибута A, у нода item2 - отсутствие атрибута A. Пытаюсь так:


with WorkXML.documentElement do
   ShowMessage(IntToStr(selectNodes('/item1[@A]) and /item2[not @A]').length));


Медвежонок Пятачок   (2011-04-05 12:52:00) [1]

не можешь вспомнить - читай.
если синтаксис интересует.


niel   (2011-04-05 12:47:00) [2]


> "получить список всех потомков узла items, у которых в имени
> есть единица и нет атрибута "А", или в имени есть двойка
> и есть атрибут "А"."если список не пуст значит документ
> не прошел проверку.


ну это понятно, меня синтаксис интересует, толи node(), толи nodeName() функция была, проверялось как-то так node() = "item1" или nodeName() = "item1", не могу вспомнить,


Медвежонок ХМЛ   (2011-04-05 12:42:00) [3]

могу.

"получить список всех потомков узла items, у которых в имени есть единица и нет атрибута "А", или в имени есть двойка и есть атрибут "А"."

если список не пуст значит документ не прошел проверку.


niel   (2011-04-05 12:39:00) [4]

можете привести пример.


Медвежонок Пятачок   (2011-04-05 12:37:00) [5]

можно и в рамках одного. если знаешь язык.


brother   (2011-04-05 12:36:00) [6]

http://www.delphimaster.ru/cgi-bin/forum.pl?n=18&id=1301573246
дежавю?


niel   (2011-04-05 12:36:00) [7]


>
//item1[not(@A)]
//item2[@A]


а можно это сделать в рамках одного селекта, помнится пару месяцев назад был похожий вопрос, там проверка в одном селекте была.


Медвежонок Пятачок   (2011-04-05 12:31:00) [8]

//item1[not(@A)]

//item2[@A]


Наверх

Титульная страница Поиск, карта сайта Написать письмо