Salve a tutti, spero di essere nella sezione giusta!
Ho un piccolo problema riguardante XPath che utilizzo con python (lato server).
Per la precisione non riesco a gestire il parsing nel caso in cui nel nodo del file xml ci siano più tag con lo stesso nome.
Mi spiego:
Il mio programma deve fare dei piccoli filtri e uno di questi deve mettere in una variabile tutti i nodi i cui tag opening contengano (es) "2011".
Il problema è che il file è formato da tanti nodi che contengono:
codice:
<location>
....
....
....
<opening showAs="orario settimanale">Mon, Tue, Wed, Thu, Fri: 0830-1230 1530-193.</opening>
<closing showAs="festivi"> 01-01, 01-06, P, LA, 04-25, 05-01, 06-02, 08-15, 11-01, 12-08, 12-25, 12-26: .</closing>
<opening showAs="Di turno sulle 24 ore">2011-10-03: 0830-2400. 2011-10-04, 2011-10-05, 2011-10-06, 2011-10-07, 2011-10-08, 2011-10-09: 0000-2400. 2011-10-10: 0000-0830.</opening>
<opening showAs="Weekend di turno">2011-03-26, 2011-03-27: 0830-1230, 1530-1930.</opening>
<opening showAs="Weekend di turno">2011-05-14, 2011-05-15: 0830-1230, 1530-1930.</opening>
<opening showAs="Weekend di turno">2011-07-02, 2011-07-03: 0830-1230, 1530-1930.</opening>
<opening showAs="Weekend di turno">2011-08-20, 2011-08-21: 0830-1230, 1530-1930.</opening>
<opening showAs="Weekend di turno">2011-11-26, 2011-11-27: 0830-1230, 1530-1930.</opening>
<opening showAs="Weekend di turno">2012-01-14, 2012-01-15: 0830-1230, 1530-1930.</opening>
<opening showAs="Domenica di turno">2011-03-05: 0830-1230, 1530-1930.</opening>
<opening showAs="Domenica di turno">2011-04-23: 0830-1230, 1530-1930.</opening>
<opening showAs="Domenica di turno">2011-06-11: 0830-1230, 1530-1930.</opening>
<opening showAs="Domenica di turno">2011-07-30: 0830-1230, 1530-1930.</opening>
<opening showAs="Domenica di turno">2011-09-17: 0830-1230, 1530-1930.</opening>
<opening showAs="Domenica di turno">2011-11-05: 0830-1230, 1530-1930.</opening>
<opening showAs="Domenica di turno">2011-12-24: 0830-1230, 1530-1930.</opening>
</location>
io con XPath ho creato questa query:
codice:
locations/location[contains(translate({0}, "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ,"abcdefghijklmnopqrstuvwxyz"),translate("{1}", "AABCDEFGHIJKLMNOPQRSTUVWXYZ" ,"abcdefghijklmnopqrstuvwxyz"))]'.format(key,value)
dove ovviamente key sta per opening e value per la stringa da ricercare.
Quella query però controlla solo il primo tag opening ,quindi se metto value="mon" mi restituisce, mentre se metto qualcosa che non è contenuta nel primo opening non restituisce niente.
Chiedo quindi consiglio a voi per risolvere il problema!
grazie anticipatamente a tutti!