2017-08-11 10 views
0

XSLTを使用して解析します。名前空間内の値を持つXSLT変換

マイXML:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="obtenerListaMisionesResponse"> 
     <xsl:for-each select="return"> 
      <xsl:value-of select="nombreMision"/> 
     </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

しかし、私は、このリターンを持っている:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
    <S:Body> 
     <ns2:obtenerListaMisionesResponse xmlns:ns2="http://Servicios/"> 
     <return> 
      <codMisiones>1</codMisiones> 
      <correoMision>Foo</correoMision> 
      <nombreMision>Bar</nombreMision> 
     </return> 
     <return> 
      <codMisiones>2</codMisiones> 
      <correoMision>Foo 2</correoMision> 
      <nombreMision>Bar 2</nombreMision> 
     </return> 
     </ns2:obtenerListaMisionesResponse> 
    </S:Body> 
</S:Envelope> 

は、その後、私は、このXSLTを使用してみました

1のFooバー2 foo2はBAR2

Whe nは私がこれ欲しい:私は思う

バーBAR2

を内側に私の名前空間のためのものですが、私は間違っているかを理解いけません。

答えて

1

正確ですが、obtenerListaMisionesResponsens2:obtenerListaMisionesResponseと同じ名前ではないため、テンプレートは一致しません。

ns2:obtenerListaMisionesResponseの代わりにxmlns:ns2=..宣言をXSLTルート要素に含めるようにしてください。

+0

あなたは正しいです!できます –

関連する問題