Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
XslTransform.Transform не выводит <?xml version="1.0" encoding="utf-8"?>
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста. Задача следующая - вывести данные из DataSet в xml, так чтобы его можно было открыть в Excel. Делаю преобразование с помощью XslTransform.Transform. Вот файл XSLTFile1.xslt: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> <xsl:template match="/"> <xsl:processing-instruction name="mso-application"> <xsl:text>progid="Excel.Sheet"</xsl:text> </xsl:processing-instruction> <Workbook> <Styles> ................. (и т.д. - без ошибок - 100%), xml файл получаю просто как DataSet.GetXml(). код на c# примерно такой: XmlTextWriter xmlTW = new XmlTextWriter(fName, null); XmlDocument xslDoc = new XmlDocument(); string dir = System.Windows.Forms.Application.StartupPath; xslDoc.Load(dir+"\\XSLTFile1.xslt"); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(ds.GetXml()); XslTransform xslt = new XslTransform(); XmlUrlResolver xmlUrlResolver = new XmlUrlResolver(); xslt.Load(xslDoc, xmlUrlResolver, new System.Security.Policy.Evidence()); xmlTW.Formatting = Formatting.Indented; xmlTW.Indentation = 4; xslt.Transform(xmlDoc, null, xmlTW, xmlUrlResolver); xmlTW.Close(); В результате получается файл с именем fName, в котором все нормально, но самого нужного - <?xml version="1.0" encoding="utf-8"?> в первой строке - нет!! без этого элемента Excel пытается все запихнуть в одну ячейку, и естественно выдает ошибку. Дописываю руками в текстовом редакторе - все работает, нормально открывает, то есть весь остальной код правильный. Что я делаю не так? /*Можно конечно дописать принудительно в файл эту строку, но это уже на заплатку какую-то похоже...*/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 11:04 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=1002&tid=1394474]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 391ms |

| 0 / 0 |
