Visualizzazione dei risultati da 1 a 10 su 10

Discussione: problema con XMLDOM

  1. #1

    problema con XMLDOM

    buon lunedi a tutti!
    io ho questo probl.
    ho un file xml in remoto. lo leggo con xmldom e lo metto in una tabella tutti i dati...
    ma si posso ordinare i dati in ordine alfabetico rispetto a un tag?
    tipo un order by di sql?

  2. #2

  3. #3

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Dipende !

    Se trasformi il tuo xml con xsl puoi utilizzare xsl passando un parametro!

    Ma se utilizzi xml come stringhe di dati, dovresti utilizzare degli array, ma verrebbe un casino !

  6. #6
    Originariamente inviato da Lollys
    Dipende !

    Se trasformi il tuo xml con xsl puoi utilizzare xsl passando un parametro!

    Ma se utilizzi xml come stringhe di dati, dovresti utilizzare degli array, ma verrebbe un casino !
    mi associo a Lollys

    non puoi farlo con DOM (o meglio è un casino), ti conviene prima trasformare il tuo XML in un altro XML con XSL utilizzando il namespace xsl:sort che te lo ordina a tuo piacimento, poi avendolo già ordinato ne fai quello che vuoi.
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  7. #7
    Utente di HTML.it L'avatar di macse
    Registrato dal
    Dec 2002
    Messaggi
    138
    piccola domanda allora...
    come faccio ad ordinare un file xml come dite voi?
    il file xsl glielo passo attraverso ASP usando DOM?
    grazie

    Massimiliano

  8. #8
    no, lo trasformi.
    guardati questa funzione dove:
    sTplName è il percorso al file xsl
    PageXml è una stringa contenente il tuo codice XML
    codice:
    Function TransformXML(sTplName, PageXml) 
    	' sTplName: stringa, nome file xsl PRIVO di estensione
    	' PageXml: stringa, buffer file XML
    	Dim PageTemplate, PageProcessor, PageHTML, docXml 
    	If isobject(Application(sTplName & "_xsl")) and Application("cachedTemplates") then 
    		Set PageTemplate = Application(sTplName & "_xsl")
    	else
    		dim PageXsl
    		set PageXsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument.3.0")
    		With PageXsl	
    			.async = false
    			.load (Application("xsl_path") & sTplName & ".xsl")
    		End with
    		set PageTemplate = Server.CreateObject ("MSXML2.XSLTemplate.3.0")
    		PageTemplate.stylesheet = PageXsl
    		set Application(sTplName & "_xsl") = PageTemplate
    	end if
    	' carica l'xml
    	Set docXml = Server.CreateObject("MSXML2.FreeThreadedDOMDocument.3.0")
    	With docXml 	
    		.async = false
    		.loadXML(PageXml)
    	End with
    	' crea il processore xsl
    	set PageProcessor = PageTemplate.createProcessor()
    	With PageProcessor
    		.input = docXml ' carica l'xml nell'xsl
    		.transform() ' effettua la trasformazione
    		PageHtml = .output ' inserisce il risultato in una variabile
    	End with
    	Set PageProcessor = Nothing
    	Set docXml = nothing
    	TransformXML = PageHtml
    End Function
    Ciao, Massimiliano anch'io
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  9. #9
    Utente di HTML.it L'avatar di macse
    Registrato dal
    Dec 2002
    Messaggi
    138
    ho capito..
    quindi io passo alla funzione due variabili una contiene il file xml e una il percorso del file xsl?
    tramite oggetti DOM trasformo l'xml ed mi trovo in

    codice:
    TransformXML = PageHtml
    il nuovo file xml trasformato...
    giusto?

    piccola domanda quindi, che non centra con la funzione in se, non sono riuscito a trovare un esempio su come poter ordinare un file xml in base ad un nodo;
    come funziona?
    io dovrei ordinare in base ad un campo che contiene una data_ora è possibile?

    grazie ancora

    Massimiliano

  10. #10
    l'ordinamento lo gestisci dal file XSL con
    <xsl:sort select="data_ora"/>

    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.