webForumDet fria alternativet

XPath "Wildcard"?

7 svar · 347 visningar · startad av fredrik

fredrikMedlem sedan dec. 19991 072 inlägg
#1

Hej!

Jag behöver använda ett "wildcard" i en sökning. Har tex följande element:

<date>2004-11-22 10:45:38</date>

Jag vill nu kunna söka ut alla med datum "2004-11-22" utan att ange klockslag...

...har provat alla möjliga kombinationer + xsl-funktioner, men utan resultat...

Någon som vet?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Du kan använda funktionen starts-with().

Mvh

fredrikMedlem sedan dec. 19991 072 inlägg
#3

...jag kollade lite på den, men fick ingen ordning på det faktiskt...

hur ska jag skriva det då?

Min data ser ut enligt:

<visists>
<visit>
<date>2004-11-20 11:11:11</date>
<moreElements />
</visist>
</visists>

Jag har provat:
"/visits/visit[starts-with(date,'2004')]"

Men får felet:
Unknown method. /visits/visit[-->starts-with(date<--,'2004')]

Tacksam för svar! :)

@ndersMedlem sedan juni 200032 969 inlägg
#4

Vad menar du med sökning?

<xsl:apply-templates select="//visits[starts-with(visit/date, '2004-11-20')]"/>

Typ så, det var ett tag sedan jag använde funktionen dock.

fredrikMedlem sedan dec. 19991 072 inlägg
#5

Nja, jag använder den tillsammans med ett "Xml-Document" (MSXML 3) för att söka ut Noder med metoden "selectNodes".

Det är alltså inte i något XSL-dokument jag använder den.
Hittade följande:
http://support.microsoft.com/kb/303516/EN-US/

Har använt samma syntax med får ändå samma fel...

xmlObj.selectNodes("/visits/visit/date[starts-with(.,'2004')]").length

Skriver jag däremot
xmlObj.selectNodes("/visits/visit[date='2004-11-19 13:56:18']").length

Så får jag mycket riktigt ut en post.

@ndersMedlem sedan juni 200032 969 inlägg
#6

Kan du inte skriva:

xmlObj.selectNodes("/visits/visit[starts-with(date,'2004')]").length

?

fredrikMedlem sedan dec. 19991 072 inlägg
#7

Nej, men jag hittade precis varför!

Jag var tvungen att ange:
xmlObj.setProperty "SelectionLanguage", "XPath"

Har faktiskt aldrig sett det innan, då jag trodde att XPath var default-sättet att söka efter data!

Tack så mycket för hjälpen ändå! :)

@ndersMedlem sedan juni 200032 969 inlägg
#8

Hmm, har jag aldrig sett förut heller. Jag använder visserligen absolut mest xsl för liknande, och väldigt sällan MSXML.

Mvh

122 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)