Использование C # для преобразования xslt, игнорируя xsl: output - PullRequest
4 голосов
/ 30 сентября 2010

Я делаю xslt-преобразование внутри моей программы на c #.Когда я запускаю xslt сам по себе, он выводит очень хорошо, но когда я запускаю его из моей программы на c #, он всегда пропускает:

<?xml version="1.0" encoding="UTF-8"?>

в верхней части получающегося XML-документа.Мой XSLT-файл выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:hd="http://www.hotdocs.com/schemas/component_library/2009"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:xml="http://www.w3.org/XML/1998/namespace">

  <xsl:output method="xml" omit-xml-declaration="no" version="1.0" encoding="UTF-8"/>

  <xsl:template match="/xsd:schema">
     <hd:componentLibrary xmlns:hd="something" version="10">
     </hd:componentLibrary>
  </xsl:template>
  <xsl:template match="text()" />
</xsl:stylesheet>

Я запускаю xslt в моей программе на c # следующим образом:

XPathDocument myXPathDoc = new XPathDocument(PathToXMLDocument);
XslCompiledTransform myXslTrans = new XslCompiledTransform();
myXslTrans.Load(PathToXSLTDocument);
XmlTextWriter myWriter = new XmlTextWriter(PathToOutputLocation, null);
myXslTrans.Transform(myXPathDoc,null,myWriter);
myWriter.Close();

Я пробовал документ xslt без строки вывода xsl:, ноэто, кажется, не помогает.

Как я могу получить тег? xml в верхней части моего выведенного XML-файла?

Спасибо

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

XmlTextWriter немного устарел. Я рекомендую вам переключиться на XmlWriter.Create .

Затем вы можете указать OmitXmlDeclaration = false в XmlWriterSettings .

0 голосов
/ 30 сентября 2010

Если вы используете XmlWriter.Create () , тогда вы можете передать в качестве параметра экземпляр XmlWriterSettings . Член OmitXmlDeclaration в классе настроек управляет включением тега.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...