Ich bin ein XSL-Neuling, aber völlig stecken geblieben!
Ich habe eine Transformierung, die ein Datum mit der C#-Skriptfunktion formatiert. Dies funktioniert einwandfrei, wenn ich in VS 2008 bin und "XML-Ausgabe anzeigen" ausführe; die Ausgabe ist genau das, was ich will.
Wenn ich jedoch versuche, dies mit Code auszuführen, erhalte ich den Fehler
Vordefinierter Typ 'System.Object' ist nicht definiert oder importiert
Die Funktion zum Aufrufen der Transformation sieht so aus, sie ist ziemlich grundlegend und funktionierte, bevor ich begann, Skripts zu verwenden
public static string RunXSLT(string xsltFile, string inputXML) { XslCompiledTransform transform = new XslCompiledTransform(); XsltSettings settings = new XsltSettings(); settings.EnableScript = true; transform.Load(xsltFile, settings, null); StringReader sReader = new StringReader(inputXML); XmlTextReader xmlTextReader = new XmlTextReader(sReader); // Erstelle einen XmlTextWriter, der in den Speicherstrom ausgibt Stream stream = new MemoryStream(); XmlWriter xmlWriter = new XmlTextWriter(stream,> System.Text.Encoding.UTF8); transform.Transform(xmlTextReader, xmlWriter); stream.Position = 0; XmlDocument XmlDoc = new XmlDocument(); XmlDoc.Load(stream); return XmlDoc.OuterXml; }
Die XSL-Transformation sieht so aus..
http://www.nlb.org