Моего XML источника данных:выберите узлы с совпадающим, но неизвестными значениями в дочерних узлы
<impact_categories>
<impact_category>
<name>Cat1</name>
<impact_levels>
<impact_level>
<name>Insignificant</name>
</impact_level>
</impact_levels>
</impact_category>
<impact_category>
<name>Cat2</name>
<impact_levels>
<impact_level>
<name>Lowest</name>
</impact_level>
</impact_levels>
</impact_category>
<impact_category>
<name>Cat3</name>
<impact_levels>
<impact_level>
<name>Insignificant</name>
</impact_level>
</impact_levels>
</impact_category>
</impact_categories>
Мне нужно, чтобы выбрать все impact_category узлов, которые имеют идентичный набор impact_level детей. В этом примере я хочу выбрать Cat1 и Cat 3, потому что их дочерние значения являются «Незначительными». Сделав некоторые вещи с этими узлами, мне нужно выбрать следующую партию узлов impact_category, у которых есть другой набор подходящих дочерних элементов impact_level (в этом примере Cat2, значение которого является «самым низким») и т. Д.
Моя проблема заключается в том, что я не буду знать, какие значения будут до времени выполнения, и они могут отличаться для разных пользователей. Я относительный новичок XPath, поэтому не знаю, как это сделать. Я потратил часы на поиск в Интернете и в книгах, но все примеры, которые я нашел, предполагают, что вы сопоставляетесь с известными значениями. Извиняюсь, если это что-то действительно простое, но я действительно застрял.
Очень «твердый орех» (как мы говорим на немецком языке) для новичка. Посмотрите на [muenchian grouping] (http://stackoverflow.com/search?q=muenchian+grouping) –
Но как вы хотите выбрать конкретные категории воздействия для дальнейшей обработки, если вы не знаете возможных значений уровней воздействия авансовые? – Markus