Avatar billede neeo Nybegynder
25. august 2006 - 12:33 Der er 13 kommentarer og
1 løsning

enkelt forspørgelse

hey...

jeg sider med følgende xml...
<response>
  <Bruger id="1">
    <hastighed timer="32">
      <dato datoid="538" name="juni"/>
      <dato datoid="458" name="septemper"/>
    </hastighed>
  </Bruger>
 
  <chosing>checkout</chosing>
  <counting>2</counting>
  <lastrun_datoid>538</lastrundatoid>
</response>


vil gerne udskrive navnet på lastrun_datoid, dvs at resultatet skal komme som "Juni" hvordan kan man lave sådan en forspørgelse ?
Avatar billede neeo Nybegynder
25. august 2006 - 12:36 #1
sorry det skal være:
hvis mig and dato[@name where bruger[id='1' and dato/@id='lastrun_datoid]
kan det lad sig gøre `?
Avatar billede neeo Nybegynder
25. august 2006 - 12:36 #2
sorry det skal være:
hvis mig dato[@name where bruger[id='1' and dato/@id='lastrun_datoid]
kan det lad sig gøre `?
Avatar billede softspot Forsker
25. august 2006 - 12:38 #3
Noget i stil med dette:

<xsl:value-of select="//dato[@datoid=/response/lastrun_datoid/text()]/@name" />

Hvis du rent faktisk stå med den node som indeholder lastrun_datoid, kan du fjerne den absolutte reference til lastrun_datoid:

<xsl:value-of select="//dato[@datoid=text()]/@name" />
Avatar billede neeo Nybegynder
25. august 2006 - 12:43 #4
prøver lige hæng på :)
Avatar billede softspot Forsker
25. august 2006 - 12:43 #5
eller det her kan måske klare den forspørgsel (ikke testet - jeg er lidt usikker på om det med parent fungerer i denne kontekst):

<xsl:value-of select="//dato[@datoid=/response/lastrun_datoid/text() and ../../@id='1']/@name" />
Avatar billede softspot Forsker
25. august 2006 - 12:44 #6
Alternativt:

<xsl:value-of select="/response/Bruger[@id='1']/hastighed/dato[@datoid=/response/lastrun_datoid/text()]/@name" />

Men den er også lidt "sårbar", hvis der kommer flere hastigheds-elementer ind i din XML...
Avatar billede neeo Nybegynder
25. august 2006 - 12:45 #7
´det virker du må gerne indlægge et svar tussind tak :)
Avatar billede neeo Nybegynder
25. august 2006 - 12:45 #8
det kommer flere hastighedselementer..
Avatar billede neeo Nybegynder
25. august 2006 - 12:48 #9
svar ?
Avatar billede softspot Forsker
25. august 2006 - 12:51 #10
OK, men vil dato med datoid="538" altid indeholde værdien "juni"? Hvis det er tilfældet er det måske placeret forkert inde i hver hastighedselement (da det vil give en del redundans). Alternativt skal du kunne identificere hvert hastighedselement på en eller anden måde (f.eks. ved timer) - og kan du så det dynamisk?

Den her gennemsøger hele XML-hierarkiet for dato'er der matcher, så det er nok det er nok den der er "bedst", men den risikerer altså også at finde et forkert element, hvis der kan være forskel på indholdet selvom det er samme id...

<xsl:value-of select="//dato[@datoid=/response/lastrun_datoid/text()]/@name" />

(NB: det er den samme som i mit første post).
Avatar billede softspot Forsker
25. august 2006 - 12:52 #11
Ja, du skal nok få et svar. Jeg ville bare lige sikre mig at du var klar over konsekvenserne af det kode du lige har fået... :)
Avatar billede neeo Nybegynder
25. august 2006 - 13:47 #12
har tjekket det og tilpasset det :)
Avatar billede neeo Nybegynder
25. august 2006 - 13:47 #13
tak for hjælpen :)
Avatar billede softspot Forsker
25. august 2006 - 14:17 #14
Super! Velbekomme og tak for point :)
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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows