Jump to content

Question for:each


icedragon208
 Share

Recommended Posts

Hello,first sorry for my bad english, i am from germany. I have a xml file (this is just a example)

<ROWDATA><ROW  NAME="Dert*Test*Nr1" GRUPPE ="Gut*&*fein" /><ROW  NAME="Dert*Test*Nr2" GRUPPE ="lecker*&*fein" /><ROW  NAME="Dert*Test*Nr3" GRUPPE ="lecker*&*fein" /><ROW  NAME="Dert*Test*Nr4" GRUPPE ="Gut*&*fein" /></DATAPACKET></ROWDATA>

now i want to read out the NAME attribut, according to the right GRUPPE attribut.For example, if i want to have "Der Test Nr2"

<text>	 <xsl:for-each select="/DATAPACKET/ROWDATA/ROW">	  <xsl:if test="/DATAPACKET/ROWDATA/ROW/@GRUPPE = 'lecker*&*fein' ">	   <xsl:value-of select="/DATAPACKET/ROWDATA/ROW/@NAME"/>	  </xsl:if>	 </xsl:for-each>   </text>

but this dont work :-(

Link to comment
Share on other sites

<xsl:value-of select="/DATAPACKET/ROWDATA/ROW[@gruppe='lecker*&*fein']/@NAME"/> Mit der eckigen Klammer kannst du "Predicates" setzten , d.h. deine Auswahl einschränken. Du kannst z.B. bestimmte Attributwerte nennen oder einen Wert abfragen, also so etwas wie "immer wenn der Preis höher als 10 Euro ist" etc.Mit dem /@name wählst du dann lediglich noch die gewünschte Ausgabe....Die If Abfrage ist somit hinfällig, da du schon bei"value-of" entsprechend selektierst...

Edited by mbr
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...