2014-11-06 3 views
1

Я пытаюсь получить значение дочернего узла на основе определенного значения родительского узла, но я изо всех сил, чтобы получить правильный синтаксис ...Получить дочерний узел на основе определенного родительского значения

Это мой XML документ:

<result> 
     <heading>A</heading> 
     <messages> 
      <message> 
       <heading>D</heading> 
       <ingress>ABCD</ingress> 
      </message> 
     </messages> 
    </result> 

Я пытаюсь получить ингресс «ABCD», когда значение курса является А.

Это мой код.

<xsl:if test="result"> 
    <xsl:variable name="parent" select="heading"/> 
    <xsl:value-of select="//message[heading=$parent]"/> 
</xsl:if> 

ответ

1

Я пытаюсь получить ингресс «ABCD», когда значение курса является А.

Try:

<xsl:value-of select="/result[heading='A']/messages/message/ingress" /> 

Примечание: выше использует абсолютное путь к элементу ingress, начиная с корневого узла. В зависимости от того, где вы находитесь, когда вам это нужно, вы можете использовать относительный (более короткий) путь к тому же узлу.

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