ciao a a tutti!
sto realizzando una piccola newsletter per il mio sito.
ho qiundi creato un template xslt per il messaggio da inviare via email per la registrazione dell'utente.
A questo punto, una volta effettuata la registrazione, devo inviare la mail di conferma utilizzando il mio template.
Le informazioni dell'utente registrato sono nella pagina, quindi le leggo e le imposto in alcune variabili di tipo string.
poi ho scritto questo codice, in modo da creare un documento xml in memoria e inserirci le mie costanti con ciu effettuare la trasformazione dell'xslt.
string xslPath = HttpContext.Current.Server.MapPath("../admin/template/newsletter_new_user.xslt");
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(xslPath);
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.ConformanceLevel = ConformanceLevel.Auto;
MemoryStream stream = new MemoryStream();
XmlWriter writer = XmlWriter.Create(sb, settings);
writer.WriteStartElement("data");
writer.WriteElementString("nome", pNome);
writer.WriteElementString("cognome", pCognome);
writer.WriteEndElement();
writer.Flush();
stream.Position = 0;
XmlReader xmlDoc = new XmlTextReader(stream);
xslt.Transform(xmlDoc, writer);
result = writer.ToString();
writer.Close();
writer = null;
settings.Reset();
settings = null;
sb = null;
xslt = null;
al momento dell'esecusione del Trasform però mi viene segnalato questo errore:
"Elemento di primo livello mancante."
vi mando anche il codice del file xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="data">
<html>
Benvenuto <xsl:value-of select="nome" /> <xsl:value-of select="cognome" />!<br/>
Da oggi potrai ricevere tutte le novità di <strong>ITALSOFT</strong>
</html>
</xsl:template>
</xsl:stylesheet>
mi sapreste dire il motivo?
grazie!