Ich habe eine Funktion, die 2 Parameter benötigt: 1 = XML-Datei, 2 = XSLT-Datei, führt dann eine Umwandlung durch und gibt das resultierende HTML zurück.
Hier ist die Funktion:
%Vor%Ich möchte die Funktion ändern, um keine Datei für das XML, sondern nur ein Objekt zu akzeptieren. Das Objekt ist genau mit dem xslt kompatibel, wenn es in eine Datei serialisiert wurde. Aber ich möchte es nicht zuerst in eine Datei serialisieren müssen.
Zur Erinnerung: Behalte das xslt aus einer Datei, aber die xml-Eingabe sollte ein Objekt übergeben und ich möchte das xml ohne irgendeine Dateisysteminteraktion erzeugen.
Sie können das Objekt in eine Zeichenfolge serialisieren, die Zeichenfolge in ein XmlDocument
laden und die Umwandlung ausführen:
Hier ist eine Funktion, die ein Objekt in ein XDocument verwandelt (Sie können es für XmlDocument ändern, wenn Sie XDocument noch nicht benutzen). Natürlich werden Ausnahmen ausgelöst, wenn das Objekt nicht serialisiert werden kann.
%Vor%und hier ist der für XmlDocument
%Vor%Nicht getestet, aber Sie können XPathDocument verwenden, um einen Stream zu erstellen, und da XPathDocument IXPathNavigable implementiert, kann es für Transformationen verwendet werden:
%Vor% Sehen Sie sich diesen Artikel an, in dem beschrieben wird, wie Sie ein XPathNavigator
erstellen, mit dem Sie navigieren können Eigenschaften eines Objektdiagramms, das eine ziemlich leistungsfähige Kombination von XPath und XSLT ist.