Avatar billede djhb Nybegynder
03. oktober 2005 - 09:58 Der er 4 kommentarer og
1 løsning

Hurtig XPath søgning i en XML fil

Jeg har ingen problemer med at få en alm. søgning i en XML-fil til at virke, men den forudsætter, at brugere indtaster søgeordet i dets fulde længe, og det er ikke optimalt.

Jeg har selv lavet en kombination, hvor jeg udtrækker alle XML dataene i en XmlNodeList fra den pågældende node, og herefter kører dem gennem en løkke med en Regex/MatchCollection sammenligning, men … og her kommer mit spørgsmål, kan det ikke gøres simplere?

I SQL kan man fx bruge LIKE, findes der ikke lignende muligheder i XPath, det kan være jeg har overset et eller andet? Eller måske er det muligt, at kombinere regular expressions ind i en nodelist søgning, så jeg slipper for at køre søgeresultaterne igennem en løkke bagefter.

Et eksempel kunne være, at jeg søger i en XML fil, der indeholder en række nodes <navn>, og jeg ønsker at finde alle nodes/navne som indeholder et 'd' fx eller 'er'
Avatar billede softspot Forsker
03. oktober 2005 - 10:14 #1
Kan du ikke bare benytte contains-funktionen i XPath?


XmlNodeList nodlist = objXml.SelectNodes("//*/contains(mynode,'tester')");
Avatar billede djhb Nybegynder
03. oktober 2005 - 11:45 #2
Mange tak for hjælpen, den havde jeg ikke lige luret.

Brugte denne syntax :)

XmlNodeList nodelist = doc.SelectNodes("/xmldata/.../forfatter[contains(navn,'" + Searchstring + "')]");

Smid et svar, så får du dine point
Avatar billede softspot Forsker
03. oktober 2005 - 12:02 #3
Perfekt! Velbekomme :)
Avatar billede djhb Nybegynder
03. oktober 2005 - 12:09 #4
Tak tak!
Avatar billede softspot Forsker
03. oktober 2005 - 12:35 #5
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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