Я хочу применить таблицу стилей XSLT в моем xml. Xml будет создан после dt.WriteXml (sfd.FileName, XmlWriteMode.WriteSchema);Не могли бы вы помочь мне с этим?
private void button1_Click(object sender, EventArgs e)
{
{
using (SaveFileDialog sfd = new SaveFileDialog() { Filter = "XML|*.xml", ValidateNames = true })
{
DataTable dt = new DataTable("tbl");
dt = (DataTable)dataGridView.DataSource;
if (sfd.ShowDialog() == DialogResult.OK)
{
try
{
dt.WriteXml(sfd.FileName, XmlWriteMode.WriteSchema);
XslCompiledTransform myXslTransform;
myXslTransform = new XslCompiledTransform();
myXslTransform.Load("woodstock.xslt");
myXslTransform.Transform(sfd.FileName, "new.xml");
MessageBox.Show("Data Exported");
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
else
{
MessageBox.Show("Exported got cancelled", "Nessage", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
Но XML-файл не имеет стиля xslt. Не могли бы вы помочь мне с этим? Приветствия.
Это woodstock.xslt:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Wood Stocks Inventory</h2>
<table border="1">
<tr bgcolor="#10acd32">
<th style="text-align:left">Item Code</th>
<th style="text-align:left">Item Description</th>
<th style="text-align:left">Current Count</th>
<th style="text-align:left">On Order</th>
</tr>
<xsl:for-each select="NewDataSet/Data">
<tr>
<td>
<xsl:value-of select="Item_x0020_Code"/>
</td>
<td>
<xsl:value-of select="Item_x0020_Description"/>
</td>
<td>
<xsl:value-of select="Current_x0020_Count"/>
</td>
<td>
<xsl:value-of select="On_x0020_Order"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>