Проблема:
dictionary.XPathSelectElements("group[field[@name='StipulationType']]")
Это выбирает все элементы группы, удовлетворяющие предикату, , которые являются дочерними элементами текущего узла .
Однако вам нужны все элементы группы (удовлетворяющие предикату) - из фрагмента XML ясно видно, что не все элементы группы имеют одного и того же родителя.
Решение :
Оцените выражение XPath от прародителя (на основе предоставленного фрагмента!):
Один из примеров:
component/group[field[@name='StipulationType']]
Исходя из структуры всего документа (не предоставлено), могут потребоваться дополнительные шаги для определения местоположения.
Чего следует избегать:
Избегайте сокращения //
, так как это может вызвать (при плохой оптимизации движков XPath) расширенный обход всего поддерева (даже документа), который начинается с узла, против этого.