Я использую приложение c для анализа и реконструкции входящего XML. Проблема, с которой я сталкиваюсь, заключается в том, что часть XML не всегда находится в одном и том же порядке с одинаковым количеством подразделов. Так что мне интересно, можно ли было вернуть значение в зависимости от типа? Т.е. в этом примере я хочу вернуть значение 2, где 2 не всегда является вторым контекстом.
<ContextCollection>
<Context>
<Type>test1</Type>
<Value>1</Value>
</Context>
<Context>
<Type>test2</Type>
<Value>2</Value>
</Context>
<Context>
<Type>test3</Type>
<Value>3</Value>
</Context>
Я успешно использовал следующее выражение xpath(xml(variables('XMLStripNameSpace')),'string(/*[name()="ContextCollection"]/*[name()="Context"][2]/*[name()="Value"])')
но это, очевидно, не работает, когда test2 является третьим Context
.