2017-05-17 8 views
0

Hey Ich versuche zu überprüfen, ob eine E-Mail in meinem XML-Dokument vorhanden ist, wenn ja ist das Passwort, das der Geschwisterknoten ist das gleiche wie Passwort übergeben ich bekomme das Passwort und E-Mail als Parameter. Bisher, was ich versucht habe, istXSLT versucht, Daten aus Geschwisterknoten zu extrahieren

<xsl:template match="/"> 
    <xsl:for-each select="customers//email[text()=$emailPassed] and 
     customers//password[text()=$password]"> 
     true 
    </xsl:for-each> 
</xsl:template> 

Die XML-Datei hier ist

<?xml version="1.0"?> 
    <customers> 
    <customer> 
     <customerid>74</customerid> 
     <firstname>test</firstname> 
     <lastname>test</lastname> 
     <email>[email protected]</email> 
     <password>591c2fdfc6d2d</password> 
     </customer> 
    </customers> 

Können Sie mir bitte helfen mit diesem heraus, dass ich stecke für eine ganze Stunde.

Antwort

0

Es könnte mehr Sinn machen xsl:if hier zu verwenden, aber der Ausdruck Sie suchen, dann ist dies

<xsl:if test="customers/customer[email=$emailPassed and password=$password]"> 
     <xsl:text>true</xsl:text> 
    </xsl:if> 

Oder noch besser, nur auf diese

<xsl:value-of select="boolean(customers/customer[email=$emailPassed and password=$password])" /> 

Dies auch false zurück in der Fall von keinem Spiel.

+0

eine Frage hier, warum müssten Sie das Kundenelement angeben, wenn ich/am Anfang übereinstimme – evilGenious

+0

Weil '/' dem Dokumentknoten entspricht, der das Elternelement des Stammelements ist ('Kunden' in Ihrem Fall) –

+0

Danke Tim das wirklich zu schätzen. – evilGenious