Avatar billede sse77 Nybegynder
07. januar 2008 - 11:28 Der er 3 kommentarer og
1 løsning

Søgning på starten af nodenavn

Hej,

jeg sidder med et lille problem. Jeg ønsker at matche på kun en lille del af et nodenavn, så ved nogen om der findes en måde kun at matche på det?

Eksempel:

<NAVNE>
<FRANKJENSEN/>
<FRANKNIELSEN/>
<NIELSJORGENSEN/>
</NAVNE>

Her ønsker jeg at gøre noget på alle noder som hedder noget med Frank, altså noget i stil med <xsl:template match="Navne/Frank*"/> men som det allerede vides så dur * ikke i den henseende.

Håber der er nogen der kan hjælpe.
Avatar billede f3rn Nybegynder
07. januar 2008 - 14:24 #1
Prøv:
<xsl:template match="settings/*[contains(name(),'FRANK')]">
<xsl:value-of select="name()"/>
</xsl:template>

Men inden du gør det skal det lige siges du er på vej ud i noget snavs mht. din XML opbygning. Du vil få meget svært ved at lave et generisk stylesheet til den XML. Den burde istedet være noget i stil med:

<NAVNE>
  <NAVN>FRANK JENSEN</NAVN>
  <NAVN>FRANK NIELSEN</NAVN>
  <NAVN>NIELS JORGENSEN</NAVN>
</NAVNE>
Avatar billede f3rn Nybegynder
07. januar 2008 - 14:25 #2
Hov. En lille fejl. Testede det på noget andet XML..
<xsl:template match="settings/*[contains(name(),'FRANK')]">
Til:
<xsl:template match="NAVNE/*[contains(name(),'FRANK')]">
Avatar billede sse77 Nybegynder
08. januar 2008 - 09:12 #3
Jeg var selv i samme retning, men havde ikke syntaksen helt på plads. Jeg ved godt at det er skidt xml, men det er ikke mig som generer xml'en, jeg skal bare arbejde på den. Send it svar så skal jeg give dig pointene, da det, du foreslår, virker.
Avatar billede f3rn Nybegynder
08. januar 2008 - 09:40 #4
Ok. Fair nok. ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester