Leggre piu xml con xsl con asp

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
47
www.allinonenet.it
Ciao a tutti,
spero in un vostro aiuto.

Con il seguente codice asp

Codice:
<%@ Language=VBScript %>
<%

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1 

id			= Request.QueryString("Cat")
Cat			= Request.QueryString("Cat")
number			= Request.QueryString("n")
if number = "" then
number = "1"
end if
xslpath			= Server.mappath("page2.xsl")
sourceFile 		= ("http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

  Set source = Server.CreateObject("Msxml2.DOMDocument")
  source.async = false



  source.load(sourceFile)

set xsldoc		= Server.CreateObject("MSXML2.FreeThreadedDOMDocument")

xsldoc.async = false
xsldoc.load(xslpath) 

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End
%>

potrei fare in modo che un secondo xml venga letto dallo stesso xsl?

ad esempio aggiunta di un secondo xml di nome

tabella.xml

Conto su di voi,
Andrea:hammer:
 
Ciao Andrea, metti tutto in una funzione parametrizzandola:

Function LeggiPiuXmlComeVuoi(file_xml)
' tutte le operazioni di lettura...
End Function

Call LeggiPiuXmlComeVuoi("pippo.xml")
Call LeggiPiuXmlComeVuoi("baudo.xml")
 
No forse mi è sfuggito... tutto bene ora comunque?

Prova cosi:

<%@ Language=VBScript %>
<%

Function MiaFunzione(file_xsl)

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

id = Request.QueryString("Cat")
Cat = Request.QueryString("Cat")
number = Request.QueryString("n")
if number = "" then
number = "1"
end if
xslpath = Server.mappath(file_xsl)
sourceFile = (file_xsl"http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false



source.load(sourceFile)

set xsldoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")

xsldoc.async = false
xsldoc.load(xslpath)

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End

End Function

Call MiaFunzione("page2.xsl")
%>

o qualcosa del genere... fammi sapere!
 
Il secondo xml ad esempio andrea.xml è giusto inserirlo qui

Codice:
<%@ Language=VBScript %>
<%

Function MiaFunzione(file_xsl)

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1 

id = Request.QueryString("Cat")
Cat = Request.QueryString("Cat")
number = Request.QueryString("n")
if number = "" then
number = "1"
end if

xslpath = Server.mappath(file_xsl)
sourceFile = (file_xsl"http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

[B]sourceFile = Server.mappath("andrea.xml")[/B]

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false



source.load(sourceFile)

set xsldoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocumen t")

xsldoc.async = false
xsldoc.load(xslpath) 

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End

End Function

Call MiaFunzione("page2.xsl")
%>

... mi sembra che ci sia un po di casino non credi

Codice:
xslpath = Server.mappath(file_xsl)
sourceFile = (file_xsl"http://pf.tradedoubler.com/pf/pf?a=147617&&maxResults=10&categoryId="&id)

[B]sourceFile = Server.mappath("andrea.xml")[/B]

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false

... ?
 
Devi semplicemente parametrizzare il richiamo al file X... quel che sia all'interno della funzione. Un esempio idiota:

Function NomeFile(quale_file)
Response.Write quale_file
End Function

Call NomeFile("uno.xml") ' Restituisce uno.xml
Call NomeFile("due.xml") ' Restituisce due.xml
Call NomeFile("tre.xml") ' Restituisce tre.xml

Al posto di Response.Write usi il parametro lì dove richiami il file X...

Chiaro il concetto? :)
 
:confused: va bene cosi ?

<%@ Language=VBScript %>
<%

Function MiaFunzione(file_xml)

' prevent page caching

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

id = Request.QueryString("Cat")
Cat = Request.QueryString("Cat")
number = Request.QueryString("n")
if number = "" then
number = "1"
end if
xslpath = Server.mappath("page2.xsl")
sourceFile = (file_xml)

Set source = Server.CreateObject("Msxml2.DOMDocument")
source.async = false



source.load(sourceFile)

set xsldoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocumen t")

xsldoc.async = false
xsldoc.load(xslpath)

set xsltemp = Server.createObject("MSXML2.XSLTemplate")
xsltemp.stylesheet=xsldoc

set xslproc = xsltemp.createProcessor
xslproc.input=source
xslproc.output=Response

' parameter for message group

xslproc.addParameter "mastercategoria",Cat
xslproc.addParameter "pagenumber",number
xslproc.transform

Response.End

End Function

Call NomeFile("uno.xml") ' Restituisce uno.xml
Call NomeFile("due.xml") ' Restituisce due.xml
Call NomeFile("tre.xml") ' Restituisce tre.xml

%>

Andrea :dormo:
 
Domandine piccine

Ciao Luke,
te posso porre delle domandine ?

1) posso inserire codice asp in un file xsl(t) ?
2) se un file xml pesa troppo esiste un rimedio per allegerire il carico ?

Grazie,
Andy:evil:
 

Discussioni simili