Avatar billede el_fredo Praktikant
22. oktober 2003 - 11:33 Der er 6 kommentarer og
2 løsninger

Søgning i DataSet / XML

Jeg har foretaget et udtræk fra en database på en økonomiserver. Dette udtræk er gemt i en XML-fil, overført til en FTP-server, hvor det ligger klar til afhentning.

Det bliver hentet af en anden computer, der udfra denne XML-fil skal lave en søgning - gerne i stil med en SQL-søgning, da den er nem at opbygge. Jeg ser nu flg. muligheder (kom gerne med flere):

1. Lav søgning direkte i XML-fil

2. Opret DataSet med indholdet af XML-filen og søg i DataSet i stedet.

3. Flyt indholdet af XML-filen over i en database, og lav en rigtig SQL-søgning heri, og benyt det nye udtræk til visning.

Jeg har prøvet mig frem med XPath, men kan ikke helt finde ud af at bruge det. Jeg har også hørt, at man kan lave søgning direkte i et DataSet/DataGrid... passer det? Det er umiddelbart den nemmeste løsning at smide XML-filen i en database og så søge heri, men det er alt andet end en smuk løsning.

Alt i alt er jeg interesseret i forslag og/eller løsninger på, hvordan jeg kan foretage en søgning i et dokument der som udgangspunkt er i XML-form.
Avatar billede finger Nybegynder
22. oktober 2003 - 12:03 #1
Jeg tror at XQL kan løse dine problemer. her er et link til et godt site om det. Der er tutorials m.m.

http://www.ibiblio.org/xql/
Avatar billede el_fredo Praktikant
22. oktober 2003 - 13:08 #2
Men det er da det samme som XPath, er det ikke?
Avatar billede el_fredo Praktikant
22. oktober 2003 - 13:17 #3
Jeg synes ikke, at SQL giver særligt gode muligheder for søgning. Det kan også være jeg er for krævende, men som jeg ser det, så er det næsten ligeså let at hardcode en søgning selv, som at benytte SQL. Jeg vil GERNE modbevises... :)

Jeg har et XML-dokument med en masse forskellige informationer. Jeg skal kunne søge på felter, hvor medarbejdernummer = xxx eller hvor medarbejdernavn = "yyy". Desuden skal man kunne indskrænke søgningen til et bestemt interval (fra-til dato). Til sidst er det ønskeligt, at funktionaliteten fra SQL's "Like" kommando også er tilgængelig.
Avatar billede nielslbeck Nybegynder
22. oktober 2003 - 14:38 #4
Ved ikke hvordan det vil være smartest, da jeg aldrig har prøvet at søge i XML før, men jeg forstår ikke helt hvorfor du skriver, at SQL ikke giver særlig gode muligheder for søgning? Det er jo netop derfor vi har SQL - for at kunne lave nogle vildt fede SQL-sætninger som finder netop de data som vi har brug for... Om du så brugte 10 år på at lave din egen søgeteknik ville du ikke komme bare i nærheden af at kunne søge lige så effektivt som de store databaser kan. Selvfølgelig vil du kunne lave et ret effektivt program som kunne søge efter lige netop én ting, men hvis du vil kunne programmere det til at søge efter forskellige ting, er det SQL du skal ha' fat i - det er jo ikke for sjov der er blevet brugt millioner af kroner på at udvikle databaser. For eksempel ville det overhovedet ikke være noget problem at lave den søgning du skriver du vil foretage...
Avatar billede el_fredo Praktikant
22. oktober 2003 - 15:56 #5
Ah, jeg mener at XQL ikke giver gode muligheder... doh!
Avatar billede el_fredo Praktikant
22. oktober 2003 - 15:57 #6
Jeg vil GERNE kunne bruge almindelig SQL i en XML-fil hvis det var muligt.
Avatar billede nielslbeck Nybegynder
22. oktober 2003 - 16:00 #7
Okay - Så er jeg med :-)

Tror jeg ikke du skal regne med at du kan fortage en SQL-søgning i et XML-dokument. Jeg vil derfor nok foreslå dig at smide det hele ind i en database - på den måde kan du også let udvide din søgning hvis det engang skulle blive aktuelt. Det tager selvfølgelig et øjeblik et smide dataene ned i en database, men til gengæld får du en rigtig hurtig søgning.
Avatar billede el_fredo Praktikant
05. november 2003 - 08:50 #8
Ok. Så må jeg gøre det, også selvom det er lidt irriterende, at jeg er nødt til at smide det hele ned i en database igen. I hvert fald, hvis jeg vil lave avancerede søgninger på indholdet. Tak for jeres hjælp.
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