parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

У парсера есть удобный механизм обработки исключений

Luzhnikovskiy 03.04.2004 16:56

Блок ^try{код}{обработка} можно прикрутить и для подобного.

Но самое простое решение в конкретном случае - внимательно изучить документацию по XPath ;-) В XPath есть все инструменты для выбора нужной ноды в один запрос.

Например, если имя нужной ноды лежит в $nodeName
following-sibling::*[name() = '$nodeName'][1]
даст "первую такую же ноду на данном уровне относительно текущей".
Надеюсь, не надо объяснять, как получить имя текущей ноды? ;-)
Использование подобных запросов очевидно снимает необходимость перебора хэша.

Нужны другие ноды? Давайте тогда будем обсуждать конкретные задачи, а не "философское наличие/отсутствие быстрого выхода из цикла", ибо break не появится в парсере с очень большой вероятностью ;-)