xpath-мышление в большинстве своем подразумевает движение под дереву от корня к детям. Путешествие по ветвям DOM-дерева практически отсутствует. Типичное мышление примерно такое: Для того, чтобы зайти к соседу, нужно зайти в дом, в нужный подъезд, подняться на нужный этаж и зайти в нужную дверь. Хотя можно было просто выйти на лестничную клетку и зайти к соседу. Очевидно, что проще последний вариант. Например, я часто использую поиск определенного контейнера, в котором находится нужная мне нода, т.е. двигаюсь по дереву вверх. Казалось бы, почему не применить id, и не перескочить сразу на нужную ноду? Не всегда это удобно и не всегда это полезно. XPath-подход сильно чувствителен к изменению структуры дерева и придется заплатить или постоянной модификацией запросов, или скоростью выполнения запросов. А создавать динамическое формирование query на лету, будет еще тем занятием, ведь для динамического запроса тоже нужно будет собирать данные, чтобы он работал быстро. Так не стоит ли вообще от него отказаться и не мучаться? Старье. Результаты самой свежей увидеть хочется