Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [XPath] confronti tra stringhe

    Ciao a tutti,
    voorei chiedervi se conoscete la soluzione ad un problema che mi attanaglia da un pò oramai..

    dato un file XML ho la possibilità di filtrarlo in varie modalità (sostanzialmente scegliendo il nodo da confrontare e l'operatore di confronto '=' , '!=', '<=' etc..).
    Ora dinamicamente costruisco il file XSLT con i criteri di filtro scelti e tutto bene fino a quando si tratta di operare un test per uguaglianza o diversità..
    Il problema sorge per < o <= e > o >= in quanto non ottengo mai risultati a meno che il contenuto del nodo sia numerico..
    Avete delle spiegazioni da darmi?

    Molte grazie
    la squadra dei sogni.. la trovi qui : www.fcarcisansisto.com E SAI COSA TIFI!

  2. #2
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    non ho capito cosa confronti con < in due stringhe :master:

    spiega meglio quello che vuoi fare, ci sono molte funzioni per le stringhe in xpath

  3. #3

    Forse hai ragione..

    .. non sono stato molto chiaro!
    Ci riprovo.. in soldoni il problema è questo:

    codice:
    <RADICE>
     <NODO>
      <ELEMENTO>AAA</ELEMENTO>
     </NODO>
     <NODO>
      <ELEMENTO>BBB</ELEMENTO>
     </NODO>
     <NODO>
      <ELEMENTO>XXX</ELEMENTO>
     </NODO>
     <NODO>
      <ELEMENTO>ZZZ</ELEMENTO>
     </NODO>
    </RADICE>
    vorrei selezionare tutti i nodi che hanno ELEMENTO<='XXX' (cioè da 'AAA' a 'XXX')

    facendo così non ottengo risultati
    RADICE/NODO[ELEMENTO<='XXX']

    Grazie di nuovo, buona giornata
    la squadra dei sogni.. la trovi qui : www.fcarcisansisto.com E SAI COSA TIFI!

  4. #4
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    cosi su due piedi non saprei, però potresti rilevare la posizione di XXX cioè 3 e poi fare un ciclo da 1 a 3 se parti sempre dal primo nodo

    per identificare un nodo con testo = a XXX si fà cosi

    RADICE/NODO/ELEMENTO[text()='XXX']

  5. #5

    Ancora grazie..

    quindi in soldoni:

    RADICE/NODO/ELEMENTO[text()<='XXX']

    non produce mai risultati, benchè può sembrare strano in quanto potrebbe essere assimilato ad un sort..

    Grazie


    P.S. per rilevare la posizione del nodo = 'XXX' devo usare position()? puoi suggerirmi la giusta sintassi?
    la squadra dei sogni.. la trovi qui : www.fcarcisansisto.com E SAI COSA TIFI!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.