XML: nach Transformation fehlen die

29/08/2007 - 16:16 von Ingo Kniest | Report spam
Hallo,

Habe ein Programm geschrieben, welches je ein XML- und ein dazugehöriges
XSL-File làdt, das XML via des XSL transformiert und abspeichert. "Im
Prinzip" klappt das gut, nur fehlt im "Zieldokument" der komplette Header
<?xml> was mache ich falsch? (Auszüge aus den Files s.u.)

Danke!
Ingo


Das Programm sieht so aus (Auszug):

XPathDocument myXPathDoc = new XPathDocument(sXmlPath);
XslCompiledTransform myXslTrans = new XslCompiledTransform();

myXslTrans.Load(sXslPath);

XmlTextWriter myWriter = new XmlTextWriter(Ausgabe+".~tmp", null);
// alles schön einrücken
myWriter.Formatting = Formatting.Indented;

myXslTrans.Transform(myXPathDoc, null, myWriter);
myWriter.Close();
File.Move(Ausgabe + ".~tmp", Ausgabe);


Quellfile beginnt mit <?xml version="1.0" encoding="ISO-8859-1"?>

XSL-Datei beginnt mit <?xml version="1.0" encoding="ISO-8859-1"
standalone="yes"?>
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
 

Lesen sie die antworten

#1 Martin Honnen
30/08/2007 - 18:09 | Warnen spam
Ingo Kniest wrote:

XPathDocument myXPathDoc = new XPathDocument(sXmlPath);
XslCompiledTransform myXslTrans = new XslCompiledTransform();

myXslTrans.Load(sXslPath);

XmlTextWriter myWriter = new XmlTextWriter(Ausgabe+".~tmp", null);
// alles schön einrücken
myWriter.Formatting = Formatting.Indented;

myXslTrans.Transform(myXPathDoc, null, myWriter);
myWriter.Close();



<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>



<xsl:output
method="xml" indent="yes"
omit-xml-declaration="no"/>

dann

using (XmlWriter myWriter = XmlWriter.Create(Ausgabe+".~tmp",
myXslTrans.OutputSettings))
{
myXslTrans.Transform(myXPathDoc, null, myWriter);
}

und die XML-Deklaration sollte in der Ausgabedatei erscheinen.




Martin Honnen MVP XML
http://JavaScript.FAQTs.com/

Ähnliche fragen