Как применить таблицу стилей XSLT в C # с использованием writeXML - PullRequest
0 голосов
/ 15 октября 2019

Я хочу применить таблицу стилей 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...