2013-03-05 2 views
0

позволяет сказать, у меня есть этот XML:XPath код, чтобы получить значение в списке

<myxml> 
    <Labels> 
     <Label> 
      <id>id1</id> 
      <value>abc</value> 
     </Label> 
     <Label> 
      <id>id2</id> 
      <value>def</value> 
     </Label> 
     <Label> 
      <id>id3</id> 
      <value>ghi</value> 
     </Label> 
     <Label> 
      <id>id4</id> 
      <value>jkl</value> 
     </Label> 
     <Label> 
      <id>id5</id> 
      <value>mno</value> 
     </Label> 
    </Labels> 
</myxml> 

И я хотел бы, чтобы отобразить значение «DEF» и «JKL».

Я ищу выражение XPath, которое позволяет мне взять значение метки, где id является «id2».

Я пытался с этим:

<xsl:value-of disable-output-escaping="yes" select="Labels/Label[id = 'id2']/value"/> 

, но это не работает ... Есть ли способ сделать это?

Заранее спасибо за ваш ответ, С наилучшими пожеланиями

+0

Если вы разместите полный пример XSLT, вам будет легче диагностировать проблему. Я просто догадываюсь, основываясь на предоставленном фрагменте. – wst

ответ

1

вы пробовали добавлять корень вашей XPath?

<xsl:value-of select="myxml/Labels/Label[id = 'id2']/value" /> 

Также disable-output-escaping, как правило, не требуется.

+0

Но идентификатор тега, а не атрибут –

+0

@ KonstantinV.Salikhov Извините, я неправильно прочитал - обновил ответ. – wst

+0

На самом деле, у меня есть Tim

Смежные вопросы