|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
[asp.net] trasformazioni Xml
Volevo sapere se esiste un modo di fare la trasformazione senza avere un documentsource .xml.
Mi spiego: In rete ho trovato il seguente esempio funzionante: <form id="modulo" runat="server"> <asp:xml id="x" runat="server" DocumentSource="utenti.xml" TransformSource="utenti.xsl" /> </form> Vorrei ottenere la stessa cosa però dinamicamente senza avere a disposizione il file xml ma ricavandolo di volta in volta da un url. E' possibile?
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
intendi un'altra pagina aspx che ti genera al volo il file xml? in questo caso immagino che basti settare il content-type a text/xml e scrivere nella response di GenerateXml.aspx l'output XML tramite Response.Write ..sempre se ho capito quello che ti serve..
__________________
|
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Quote:
Dim newUri As Object newUri = "http://1.56.4.63/openwork/list.aspx?ListType=13&ListSubType=0&modelid=53&hideactions=all&pageid=1155018048" Dim doc_x As Object doc_x = Server.CreateObject("Microsoft.XMLDOM") Dim xmlHttp As Object xmlHttp = Server.CreateObject("Msxml2.XMLHTTP.4.0") xmlHttp.open("POST", newUri, False) xmlHttp.send() Dim xmlout, res xmlout = xmlHTTP.responseXML.xml res = doc_x.loadXml(xmlout) doc_x.save("c:\Pic.xml") Alla fine quando faccio doc_x.save mi genera l'xml però è vuoto. Quello che voglio fare è questo: ho un link di una pagina aspx(newUri nel codice). Da questo link voglio estrarre l'xml e salvarlo in una directory.Dopodichè applico la trasformazione in asp(avendo sia il file xml sia il file xsl)
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb Ultima modifica di tognesimo : 10-04-2009 alle 17:33. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
l'indirizzo http://1.56.4.63/openwork/list.aspx?...eid=1155018048
ti restituisce già un file xml? in caso positivo basta che fai così in C#: Codice:
new WebClient().DownloadFile("http://1.56.4.63/openwork/list.aspx?ListType=13&ListSubType=0&modelid=53&hideactions=all&pageid=1155018048", @"c:\Pic.xml");
In Vb dovrebbe essere qualcosa di simile, ma non me lo ricordo tanto bene da scrivere codice corretto al volo senza Visual Studio
__________________
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Quote:
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Ragazzi è possibile farsi restituire un xml da una pagina aspx??
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]() nello stesso modo usando la sintassi di VB al posto di quella del C#...
__________________
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Ho provato utilizzando il C ma non funziona!
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
ovvero?
che errore ti da?
__________________
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Non ricordo mi pare "variabile with di blocco non impostata".
Adesso sto procedendo in questo modo: 'Imposto l'oggetto XMLHTTP e recupero il file XML Dim xmlHTTP, ResponseXML xmlHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0") xmlHTTP.open("Get", "http://1.56.4.63/openwork/list.aspx?ListType=13&ListSubType=0&modelid=53&hideactions=all&pageid=1155018048", False) xmlHTTP.send() 'ResponseXML = XmlHttp.ResponseText 'Imposto l'oggetto XMLDOM e carico il file XML come stringa Dim doc_x doc_x = Server.CreateObject("Microsoft.XMLDOM") doc_x.async = False doc_x.loadXML(XmlHTTP.responseText) Però non riesco a visualizzare nulla a schermo.
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Ho finito il codice:
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Imposto l'oggetto XMLHTTP e recupero il file XML Dim xmlHTTP, ResponseXML xmlHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0") xmlHTTP.open("GET", "http://1.56.4.63/openwork/list.aspx?ListType=13&ListSubType=0&modelid=53&hideactions=all", False) xmlHTTP.send() ResponseXML = XmlHttp.ResponseText 'Imposto l'oggetto XMLDOM e carico il file XML come stringa Dim doc_x, ErrorMessage doc_x = Server.CreateObject("Microsoft.XMLDOM") doc_x.async = False doc_x.validateOnParse = False doc_x.resolveExternals = False If not doc_x.LoadXml(ResponseXML) then ErrorMessage = "errore" else 'parserizza end if 'Recupero i nodi del file XML Dim user Dim role Dim id user = doc_x.getElementsByTagName("table/userprofile/user/name") role = doc_x.getElementsByTagName("table/userprofile/user/role") id = doc_x.getElementsByTagName("table/userprofile/user/userid") 'Carico xsl e processo xml Dim xsl, xsldoc xsl = Server.CreateObject("Msxml2.XSLTemplate.3.0") xsldoc = Server.CreateObject("Msxml2.FreeThreadedDOMDocument.3.0") if xsldoc.load(Server.MapPath("gestione_mandato.xsl")) then xsl.stylesheet = xsldoc End if 'Trasformo in Html Dim xslproc xslproc = xsl.CreateProcessor() xslproc.input = doc_x xslproc.Transform Response.ContentType = "text/xhtml" Response.Write (xslproc.output) End Sub L'errore si verifica quando faccio xslproc.input = doc_x Dove sbaglio??
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
UP!!!
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Si può fare o è impossibile estrarre l'xml da una pagina aspx??
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Grosseto
Messaggi: 2451
|
Up!!!
__________________
Hp Omen 15 - Ryzen 5800H - RTX 3060 6Gb |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:35.





















