XML verarbeiten in C#: XSLT mit Variablen beeinflussen

Wer von einem C#-Programm aus XML und XSLT verarbeitet, möchte vielleicht hie und da mal in die XSLT-Vorlage eingreifen. Doch alle Daten in das Programm einzulesen, zu manipulieren und wieder auszuspucken, ist aufwändig.

Am einfachsten geht’s wenn Sie im XSLT-Stylesheet Variablen einsetzen. Denn die lassen sich direkt von C# aus manipulieren.

Damit das funktioniert, initialisieren Sie zunächst ein neues Objekt XsltArgumentList:

XsltArgumentList xslArg = new XsltArgumentList();

Danach können Sie nach Belieben Variablen für das XSLT-Stylesheet setzen, zum Beispiel:

xslArg.AddParam(“groundmode”, “”, this.comboGroundMode.Text);

xslArg.AddParam(“startdate”, “”, this.dateTimePickerStartDate.Value.ToString(“yyyMMdd”));

Wichtig ist natürlich, dass die entsprechenden Variablen bereits im Stylesheet initialisiert sind. Das geht zum Beispiel mit dieser Anweisung:

<xsl:variable name=”groundmode” select=”clampedToGround”/>

Hier belegt das Stylesheet die Variable groundmode mit dem Wert clampedToGround.

Dank der Variablen bleibt das XSLT-Stylesheet unabhängig vom C#-Programm. Sie können es also auch ohne weiteres mit anderen Prozessoren einsetzen – notfalls müssen Sie dort die Variablen von Hand modifizieren.

Ähnliche Beiträge

    None Found