.NET CF: XSL-Transformationen einsetzen

Das .NET CF ist eingeschränkt, das weiß man. Diese Einschränkungen betreffen leider auch so alltägliche Dinge, wie etwa LINQ to SQL (geht nicht) oder XSL-Transformationen (geht auch nicht). Stop, Moment, zumindest XSL-Transformationen gehen. Jedenfalls mit einem kleinen Trick.

Bei den meisten Windows Mobile-Geräten ab Version 6 (wenn nicht bei allen) befindet sich nämlich die MSXML-COM-Komponente auf den Maschinchen. Und diese Komponente kann angesprochen werden – nicht jedoch, ohne vorher die Komponente in das .NET CF-Projekt zu importieren. Leider geht das bei COM-Komponenten nicht direkt – aber es gibt den MIDL-Kompiler, der aus einer .idl-Datei eine .tlb-Datei zaubern kann, die sich wiederum als Referenz dem Projekt hinzufügen lässt.

Folgende Schritte müssen Sie ausführen, um MSXML zu verwenden:

  1. Öffnen Sie die Visual Studio-Eingabeaufforderung und wechseln Sie in das Verzeichnis [Programme]\Windows Mobile 6 SDK\PocketPC\Include\Armv4i
  2. Lassen Sie die tlb-Datei erstellen, indem Sie

    midl /L . msxml2.idl

    eingeben

  3. Kopieren Sie die erzeugte msxml2.tlb-Datei in das Verzeichnis Ihrer .NET CF-Applikation
  4. Fügen Sie die Datei Ihrem Projekt als Referenz über das "Durchsuchen"-Tab des Verweis-Dialogs hinzu

Nun können Sie mit Hilfe von MSXML auf die gute, alte, herkömmliche Art und Weise mit XML arbeiten:

// Quelle laden
DOMDocument doc = new DOMDocumentClass();
doc.load("source.xml");

// XSL-Stylesheet laden
DOMDocument xsl = new DOMDocumentClass();
xsl.load("style.xsl");

// Transformation durchführen
string html = doc.transformNode(xsl);

Na bitte, geht doch!

Kategorie: .NET CF, Tipp Kommentieren »


Kommentar schreiben

Kommentar