Xml al volo

lunedì 16 novembre 2009 - 21.03

almax Profilo | Junior Member

Avrei bisogno di capire come è possibile creare un xml al volo con asp.net vb così da poter richiamare il file da un'altra pagina .. il file dovrebbe avere l'estensione xml ..

Grazie

alx_81 Profilo | Guru

>Avrei bisogno di capire come è possibile creare un xml al volo
>con asp.net vb così da poter richiamare il file da un'altra pagina
>.. il file dovrebbe avere l'estensione xml ..
Ciao,
puoi pensare di fare il render dell'xml, senza creare un file con un estensione. Basta chiamare un link e quel link ti torna un xml, purchè sia ben formattato.
Da dove lo devi chiamare?

>Grazie
di nulla!
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

almax Profilo | Junior Member

Ho degli oggeti flash che utilizzo per menù, carico il menù dal file xml ... Siccome in base al tipo di utente che accede ci sono dei bottoni visibile mi serviva proprio questo tipo di funzione..

Invece di chiamare il file.xml posso chiamare www.sito.it/file.xml, dove file xml è creato al volo considerando i vari privilegi ... ricapitolando..
Ho un db con i dati, ad ogni accesso creo al volo l'xml per la generazione del menù ...

l'unica cosa che non riesco a capire è come fare in modo che il mio link punti ad un file xml ..

Grazie

alx_81 Profilo | Guru

>Ho degli oggeti flash che utilizzo per menù, carico il menù dal
>file xml ... Siccome in base al tipo di utente che accede ci
>sono dei bottoni visibile mi serviva proprio questo tipo di funzione..
ho avuto la stessa esigenza, e credimi, non ti serve un file fisico xml, ma basta che una pagina del tuo sito crei lato server l'xml in base ai dati del db e renderizzi la risposta in "formato xml".

>l'unica cosa che non riesco a capire è come fare in modo che il mio link punti ad un file xml ..
basta che nell'actionscript del fla tu faccia puntare un sito nella load dell'xml (es: http://www.tuosito.net/pagina.aspx).
Poi la pagina aspx, lato server, farà solo la response.write di un xml che hai creato usando il namespace System.Xml del .net framework:
http://msdn.microsoft.com/en-us/library/system.xml.aspx

>Grazie
di nulla!
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

almax Profilo | Junior Member

Ok .. preparo seguendo le tue indicazioni ..

almax Profilo | Junior Member

Allora utilizzando il system.xml farei così dimmi se sbaglio :

Response.ContentType = "application/menu+xml"
Dim objX As New XmlTextWriter(Response.OutputStream, Encoding.UTF8)
objX.WriteStartDocument()
objX.WriteStartElement("Item")
objX.WriteAttributeString("version", "2.0")

Connessione al db e query di selzione

Do While dr.Read()
objX.WriteStartElement("menu")
objX.WriteString(dr("nome").ToString())
objX.WriteEndElement()
objX.WriteStartElement("link")
objX.WriteString(dr("link").ToString())
objX.WriteEndElement()
Loop

objX.WriteEndElement()
objX.WriteEndDocument()
objX.Flush()

oppure basta utilizzare una cosa di questo tipo

connessione db eseguo query

response.write("<Item>")
Do While dr.Read()
response.write("<menu>"& dr("nome") &"</menu>")
response.write("<link>"& dr("link") &"</link>")
Loop
response.write("</item>")

che mi dici ?

alx_81 Profilo | Guru

>che mi dici ?
secondo me, se quella è solamente una scrittura di un xml che sei sicuro essere well formed, potresti pensare di usare un System.Text.StringBuilder per creare la stringa con i vari appender e poi fare la response.write del metodo ToString().
Qui maggiori info:
http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5