Ik weet niet of deze vraag hier goed geplaats is maar ik doe een poging.
Werk met Visual Studio Web developer aan een webusercontrol.
Hier heb ik een knop staan genaamd Button6 die met een druk op knop een query uitvoerd op mijn database. Dit werkt en is getest.XML wordt getoond.
Nu ga ik een stap verder en test ik of ik XSLT kan toepassen op een XML file.
Zet lokaal een XML file neer, verwijs naar een XSLT en kijk of hij een nieuwe XML genereerd.
Werkt prima.
Nu loop ik vast. Ik wil de uit de database gegenereerde XML file transformeren (XSLT) en dan de nieuwe file op de C:\ weg zetten.
Dit lukt me niet.
Zie onderstaande code fragment.
Hebben jullie een idee hoe ik mijn eerste XML resultaat kan koppelen aan mijn XSLT bestand?
met vriendelijke groet,
Bart
Werk met Visual Studio Web developer aan een webusercontrol.
Hier heb ik een knop staan genaamd Button6 die met een druk op knop een query uitvoerd op mijn database. Dit werkt en is getest.XML wordt getoond.
Nu ga ik een stap verder en test ik of ik XSLT kan toepassen op een XML file.
Zet lokaal een XML file neer, verwijs naar een XSLT en kijk of hij een nieuwe XML genereerd.
Werkt prima.
Nu loop ik vast. Ik wil de uit de database gegenereerde XML file transformeren (XSLT) en dan de nieuwe file op de C:\ weg zetten.
Dit lukt me niet.
Zie onderstaande code fragment.
Code:
protected void Button6_Click(object sender, EventArgs e)
{
try
{
DataSet mijnDataset = new DataSet();
SqlConnection mijnConnection = new SqlConnection();
mijnConnection.ConnectionString = "Trusted_Connection=yes;database=Lorentz;server=BART\\SQLEXPRESS";
mijnConnection.Open();
SqlCommand mijnCommand = new SqlCommand();
mijnCommand.Connection = mijnConnection;
mijnCommand.CommandText = "SELECT toetsnr AS nr,AVG(score)AS Gem FROM toetsuitslagen AS toets GROUP BY toetsnr FOR XML AUTO,ROOT";
SqlDataAdapter mijnDataAdapter = new SqlDataAdapter();
mijnDataAdapter.SelectCommand = mijnCommand;
mijnDataAdapter.Fill(mijnDataset, "toetsnr");
XmlDocument mijnXmlDocument = new XmlDocument();
mijnXmlDocument.LoadXml(mijnDataset.GetXml());
// werkt ook prima, tonen van gegenereerde XML
//Context.Response.Write(mijnXmlDocument.OuterXml)
// Maak een XslCompiledTransform-object
XslCompiledTransform mijnXslTransform = new XslCompiledTransform();
// Laad de XSLT
mijnXslTransform.Load("c:\\mijnChartgoed.xsl");
XmlDocument mijnXmlTransformDocument = new XmlDocument();
// Voer de transformatie uit van XML, met XSLT naar andere XML. Werkt prima!
//mijnXslTransform.Transform("c:\\rawdata.xml", "c:\\transformed.xml");
//Gegenereerde xml (sql query) transformeren, lukt mij niet
:( mijnXslTransform.Transform(mijnXmlDocument, "c:\\transformed.xml");
//Context.Response.Write(mijnXmlTransformDocument.OuterXml); ??
Label1.Text = "Status: XML file is gegenereerd";
mijnConnection.Close();
}
catch (Exception E)
{
Label1.Text = "Status: FOUT! " + E.Message;
}
}
}
Hebben jullie een idee hoe ik mijn eerste XML resultaat kan koppelen aan mijn XSLT bestand?
met vriendelijke groet,
Bart