Подтвердить что ты не робот

XPath Получить первый элемент подмножества

У меня такой XML:

<AAA>
    <BBB aaa="111" bbb="222">
        <CCC/>
        <CCC xxx="555" yyy="666" zzz="777"/>
    </BBB>
    <BBB aaa="999">
        <CCC xxx="qq"/>
        <DDD xxx="ww"/>
        <EEE xxx="oo"/>
    </BBB>
    <BBB>
        <DDD xxx="oo"/>
    </BBB>
</AAA>

Я хочу получить первый элемент <CCC>. Но с выражением XPath //*/CCC[1] у меня есть два элемента <CCC>. Каждый из них является первым элементом в контексте <BBB></BBB>. Как получить первый элемент в подмножестве?

4b9b3361

Ответ 1

Этот должен работать для вас:

(//*/CCC)[1]

Ответ 2

Я хочу получить первый элемент. Но с Выражение XPath //*/CCC[1] У меня есть получил два элемента. Каждый из них первый элемент в контексте <BBB></BBB>. Как получить первый элемент в подмножестве?

Это FAQ:

Оператор [] имеет более высокий приоритет (привязывается сильнее), чем аббревиатура //.

Использование

(//CCC)[1]

Это выбирает первый элемент (в порядке документа) CCC в документе XML.