Поиск XPath, относящийся к атрибутам - PullRequest
0 голосов
/ 04 марта 2011

Я хочу создать запрос XPath, который возвращает членов актеров, чье «задание» равно «Актер», а чей «порядок» находится между «0» и «4» из следующих XML. Мне трудно создать запрос, который делает оба.

<cast>
    <person name="David Silverman" character="" job="Director" order="0"/>
    <person name="James L. Brooks" character="" job="Author" order="0"/>
    <person name="Dan Castellaneta" character="Homer J. Simpson" job="Actor" order="0"/>
    <person name="Julie Kavner" character="Marge Simpson" job="Actor" order="1"/>
    <person name="Nancy Cartwright" character="Bart Simpson" job="Actor" order="2"/>
    <person name="Yeardley Smith" character="Lisa Simpson" job="Actor" order="3"/>
    <person name="Dan Castellaneta" character="Krusty the Clown" job="Actor" order="4"/>
    <person name="Hank Azaria" character="Moe Szyslak" job="Actor" order="5"/>
    <person name="Dan Castellaneta" character="Apu Nahasapeemapetilon" job="Actor" order="6"/>
</cast>

Ответы [ 3 ]

3 голосов
/ 04 марта 2011
cast/person[@job="Actor" and @order >= 0 and @order <= 3] 

возвращает четырех Симпсонов, которые вы хотите.

0 голосов
/ 04 марта 2011

Вы должны быть в состоянии объединить свои предикаты //cast/person[@job='Actor' and @order>=0 and @order<=3]

0 голосов
/ 04 марта 2011

Вы можете использовать //cast/person[@job='Actor' and position()<3].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...