2017-05-17 11 views
0

ちょっと、私のXML文書に電子メールがあるかどうかを確認しようとしています。はい、兄弟ノードのパスワードはパスワードと同じです。パラメータとして。これまでのところ、私が試してみました何XSLT兄弟ノードからデータを抽出しようとしています

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

は、XMLファイルが

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

はあなたが私はかなり時間立ち往生していますこれで私を助けてくださいすることができ、ここです。

答えて

0

まだ、ちょうどこの

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

にこれもでfalseを返します。ここはxsl:ifを使用する方が理にかなってかもしれませんが、あなたが探している式は、この

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

またはそれ以上であります一致しない場合。

+0

ここで1つの質問は、最初に/と一致するときにcustomers要素を指定する理由は? – evilGenious

+0

'/'はルート要素の親であるドキュメントノード(あなたの場合はcustomers) –

+0

ありがとう、Timは本当に感謝しています。 – evilGenious

関連する問題