Xsl con xml creato dinamicamente

martedì 28 marzo 2006 - 17.02

revan Profilo | Newbie

Salve
sono nuovo e ho splulciato tra i vari thread ma mi è parso che non sia stato trattato l'argomento che mi interessa.
Ho creato un programma c# che genera XmlDocument e li immagazzina in un DB SQL server sotto forma di stringhe.
Poichè queste informazioni devono essere anche visualizzate in un web form ho la necessita di "formattare" questi xmldocument appoggiandomi ad un file xslt.
Ho seguito i vari esempi riportati sulla documentazione ufficiale della Microsoft e tutto è filato liscio, ma appna ho provato a usare un xmldocument creato dinamicamente in precedenza ho ottenuto una bella pagina vuota.
Pensavo di usare questo codice al page_load:
private void Page_Load(object sender, System.EventArgs e)
{
XmlDocument customer = (XmlDocument)Session["customer"];
Xml1.Document = customer;
}
dove customer lo riprendo dalla Session ed è un XmlDocument corretto.

Mentre nell'HTML del Web Form corrispondente metto quelsto codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>CustomerDialog</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:Xml id="Xml1" runat="server" TransformSource="CustDiXsl.xslt"></asp:Xml>
</form>
</body>
</HTML>

Questa invece è la pagina statica (in un file nella cartella dell'applicazione) xslt:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<table>
<xsl:for-each select="Application">
<tr>
<td>Appl:<xsl:value-of select="Application"></xsl:value-of></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Spero possiate aiutarmi
Grazie
Ciao.

Brainkiller Profilo | Guru

Ma questo valore di Session, (Session["customer"]) è una stringa ?
Se sì perchè non operi in questo modo:

XmlDocument doc=new XmlDocument(); doc.Load(Session["customer"].ToString());

ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

revan Profilo | Newbie

non è una stringa ma è un XmlDocument .Comunque ho provato anche come dici tu estraendo in precedenza l'innerxml dall' xmldocument.
Tuttavia il problema è visualizzare l'xmldocument (ricavato in qualsiasi modo) in una pagina web formattato secondo quanto scritto in un file xsl memorizzato sulla cartella principale dell'applicazione.
Attualmente uso un form in cui ho inserito un componente xml che valorizzo run-time con l'XmlDocument di cui sopra, il problema è che il risultato è una pagina vuota,o meglio in cui non è presente l'xml che inserisco io.
Da notare che se non specifico il foglio xsl funziona tutto.
Ciao e grazie della pronta risposta.
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