2011-09-29 14 views
5

Ora sto utilizzando xpath per verificare il nodo di sorpasso (zio o ant) ​​di un nodo genitore del nodo principale.Come verificare il fratello successivo di genitori in xpath

mio XML assomiglia

<MyParent> 
<A> 
<B> 
<C> 
</MyParent> 

<Uncle> 
.. 
</Uncle> 

Ora sono nella partita modello per nodo figlio B, e voglio verificare se l'immeididate seguente-fratello di mia madre si chiama "zio",

ho provato le seguenti due XPaths:

<xsl:if test="parent::MyParent/following-sibling::*[1][self::Uncle]"> 
    <xsl:text>we have it</xsl:text>   
</xsl:if> 

e

<xsl:if test="parent::MyParent[following-sibling::*[1][self::Uncle]]"> 
    <xsl:text>we have it</xsl:text>   
</xsl:if> 

nessuno dei due funzionerà, gli esperti potrebbero aiutare a eseguire il debug in cui ho commesso degli errori? Grazie :).

+2

Il tuo codice sembra corretto. Forse non funziona nel contesto che pensi che sia? Forse potresti condividere più parti del tuo script in modo che possiamo controllare. –

+0

@_Robert: se il tuo codice non produce l'output desiderato, ma la risposta accettata lo fa, questo probabilmente significa che hai problemi di namespace (predefiniti). –

risposta

14

Prova questo.

../following-sibling::*[position()=1][name()='Uncle'] 
Problemi correlati