Получить первый (определенный) узел со случайными (необязательными) подузлами - PullRequest
1 голос
/ 03 января 2012

Мне нужен первый узел сложного xml глубокого глубокого подузла со случайными узлами между ними.Мой XML:

<abc>
    <bcd id="1">
        <cde>
            <bcd id="100">
                <cde>
                    <xxx id="998">
                    </xxx>
                </cde>
            </bcd>
        </cde>
    </bcd>
    <bcd id="2">
        <cde>
            <bcd id="101">
                <cde>
                    <bcd id="102">
                        <cde>
                            <xxx id="999">
                            </xxx>
                        </cde>
                    </bcd>
                </cde>
            </bcd>
        </cde>
    </bcd>
</abc>

С этим XPATH я получаю только с этим дизайном правильный результат.класс вложенности варьируется.

"//bcd/cde/bcd/cde/xxx[@id='998']"

Я хочу XPATH, подобный тому, где я получаю первый bcd (id = '1') узел:

"//[bcd/cde]+/xxx[@id='998']"

или первый bcd (id = '2') узел:

"//[bcd/cde]+/xxx[@id='999']"

привет Крису

1 Ответ

2 голосов
/ 03 января 2012

У меня работает следующий xpath:

/*/bcd[.//xxx/@id='998']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...