Добавить в начало файла xml после преобразования xsl

Мне удалось преобразовать простой xml-файл с данными в другой xml-файл (шаблон excel )с использованием шаблона xsl, вот как выглядит мой xsl-файл:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" standalone="yes"/>

    <xsl:template match="/">
      <xsl:processing-instruction name="mso-application">
        <xsl:text>progid="Excel.Sheet"</xsl:text>
      </xsl:processing-instruction>
   ...(stuff here)...
    </xsl:template>
  </xsl:stylesheet>

Результирующий xml-файл записывается правильно, НО за исключением включения

<?xml version="1.0"?>

вверху файла. Как я могу сделать так, чтобы он отображался вверху?

В настоящее время мой результирующий файл xml начинается с:

<?mso-application progid="Excel.Sheet"?>
...(rest of file)...

Но мне нужно, чтобы он сделал:

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
.(rest of file)...

Я делаю это преобразование через форму Windows со следующим кодом:

XPathDocument myXPathDoc = new XPathDocument(xmlfile);
XslCompiledTransform myXslTrans = new XslCompiledTransform();
myXslTrans.Load(xslfile);
XmlTextWriter myWriter = new XmlTextWriter(xmlexcelfile, null);
myWriter.Formatting = Formatting.Indented;
myWriter.Namespaces = true;
myXslTrans.Transform(myXPathDoc, null, myWriter);
myWriter.Close();

Я пробовал играть с xsl:output standalone="yes/no", а также с omit-xml-declaration="no". Я также пробовал (в коде C #), добавляя myWriter.WriteStartDocument();перед преобразованием, но это было запрещено. пытался искать ng онлайн для этого и продолжайте возвращаться к standalone="yes", но это не работает. Есть ли что-то, что мне здесь не хватает? О, и если вам интересно, почему мне нужно иметь

<?xml version="1.0"?>

в верхней части результирующего файла, это потому, что при открытии файла xml с помощью excel excel не распознает его правильно, но если он включен, то excel открывает его правильно...

7
задан ThinkingStiff 12 March 2013 в 20:26
поделиться