DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
XML und XSL per ASP transformieren

Mit XSL können XML Files in andere Formate umgewandelt werden. Dabei kann aus einem XML File z.B. per XSL eine HTML Seite gemacht werden. Normalerweise wird dies per Referenz im XML File erledigt.

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="template1.xsl"?>

Nun kann aber nur der Internetexplorer dieses File anzeigen und transformieren. Wie funktioniert es aber, wenn es per Programm gesteuert werden soll?

So könnte eine Abfrage den Browser erkennen und für jeden Typ das richtige Styling per XSL erzeugen.

Dazu verwenden wir am Web Server ASP. Für das Sample ist es unbedingt nötig, das der Microsoft XML Parser installiert ist.
Das DOM des Parsers wird verwendet um das XML Dokument im Speicher zu halten. Um das XML und XSL File laden zu können brauchen wir hier zwei DOMs( StyleFile und Sourcefile).
Am Schluss kommt das alles entscheidene Transformnode das die Umwandlung vornimmt und in den Response Stream des Browsers schreibt.

<%@ LANGUAGE = JScript %>
<%
  // Set the source and style sheet locations here
  var sourceFile = Server.MapPath("simple.xml");
  var styleFile = Server.MapPath("simple.xsl");
 
  // Load the XML
  var source = Server.CreateObject("Msxml2.DOMDocument");
  source.async = false;
  source.load(sourceFile);

  // Load the XSL
  var style = Server.CreateObject("Msxml2.DOMDocument");
  style.async = false;
  style.load(styleFile);

  source.transformNodeToObject(style, Response);

%>

DOM hat viele nützliche Eigenschaften. So können Sie mit source.save das umgewandelte XML Dokument auch als Datei speichern. Dazu tauschen Sie die letzte Zeile mit den drei folgenden aus. Für die Ausgabe benötigen Sie noch ein weiteres DOM.

var outFile=Server.CreateObject("Msxml2.DOMDocument");
source.transformNodeToObject(style,outFile);
outFile.save("c:\test.htm");

Das DOM ist in sämtlichen Microsoft Sprachen wie VB oder VBScript verfügbar. Je nach Parserversion unterscheiden sich die Befehle leicht.

 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 19.03.2001
  Gültig bis: 18.04.2001
12 Ratings
Bewertung: 66,7%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG