У меня есть следующий XML:
<StatsContainer>
<Variant1>0</Variant1>
<Variant2>0.5</Variant2>
<Variant3>1.2</Variant3>
<Variant4>4.1</Variant4>
<Variant5>93.9</Variant5>
<Variant6>0.3</Variant6>
<Variant7>0</Variant7>
<Variant8>0</Variant8>
<Variant9>0</Variant9>
<Variant10>0</Variant10>
<Variant11>0</Variant11>
<Variant12>0</Variant12>
<GlobalVariant1>4.6</GlobalVariant1>
<GlobalVariant2>40.4</GlobalVariant2>
<GlobalVariant3>13.8</GlobalVariant3>
<GlobalVariant4>2.8</GlobalVariant4>
<GlobalVariant5>35.6</GlobalVariant5>
<GlobalVariant6>2.8</GlobalVariant6>
<GlobalVariant7>0</GlobalVariant7>
<GlobalVariant8>0</GlobalVariant8>
<GlobalVariant9>0</GlobalVariant9>
<GlobalVariant10>0</GlobalVariant10>
<GlobalVariant11>0</GlobalVariant11>
<GlobalVariant12>0</GlobalVariant12>
<MosaicType>Boligtype</MosaicType>
<OverRepresentedVariant>5</OverRepresentedVariant>
</StatsContainer>
Как видите, у меня есть номер в теге "OverRepresentedVariant". Это число может меняться время от времени. Что мне нужно, так это взять тег Variant с нужным номером. В приведенном выше случае мне нужно получить значение из тега «Variant5» (93,9). Завтра значение "OverRepresentedVariant" могло бы измениться на 3, это означало бы, что теперь я должен вместо этого взять значение "Variant3".
Так вот что я получил. У меня есть переменная с именем $btOver
, которая содержит вышеуказанный XML. У меня также есть переменная с именем $btId
, которая содержит значение «OverRepresentedVariant», например:
<xsl:variable name="btId" select="$btOver/OverRepresentedVariant" />
Так что теперь мне нужна помощь в поиске тегов Variant с правильным идентификатором. Теги, которые мне нужны, всегда будут называться «Вариант», за которым следует идентификатор. Итак, как я могу получить правильный тег?