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 ?
Annonceindlæg fra 7N A/S
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 `?
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 `?
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" />
25. august 2006 - 12:43
#4
prøver lige hæng på :)
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" />
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...
25. august 2006 - 12:45
#7
´det virker du må gerne indlægge et svar tussind tak :)
25. august 2006 - 12:45
#8
det kommer flere hastighedselementer..
25. august 2006 - 12:48
#9
svar ?
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).
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... :)
25. august 2006 - 13:47
#12
har tjekket det og tilpasset det :)
25. august 2006 - 13:47
#13
tak for hjælpen :)
25. august 2006 - 14:17
#14
Super! Velbekomme og tak for point :)
Kurser inden for grundlæggende programmering