Stylesheet für XML-Serializer

jccTeq

Erfahrenes Mitglied
Hi,

an alle, die sich mit dem XML-Serializer auskennen (das Ding, das Objekt-Instanzen in XML-Dateien auslagern kann und auch wieder zurück): wie sage ich dem Serializer, daß er dem erstellten XML-Dokument ein Stylesheet (XSLT) zuweisen soll, also die Zeile
Code:
<?xml-stylesheet href="style.xsl" type="text/xsl"?>
oben mit einfügt?


Danke!

Gruß, Hendrik
 

jccTeq

Erfahrenes Mitglied
... mpf... wieder der Typ, der seine Fragen selbst beantwortet. Also für alle, die es interessiert, so funktioniert's:

PHP:
// Datei 'fname' öffnen
  TextWriter tw = new StreamWriter(fname);

// XML-Serializer initialisieren
  XmlSerializer xs = new XmlSerializer(typeof(<Hier zu serialisierende Klasse>)); 

// XML-TextWriter initialisieren
  XmlTextWriter xtw = new XmlTextWriter(tw);

// Besagte Stylesheet-Zeile in die XML-Datei 'fname' schreiben
  xtw.WriteProcessingInstruction("xml-stylesheet","href='cg.xsl' type='text/xsl'");

// Das Objekt der oben angegebenen Klasse in die XML-Daten 'fname' serialisieren
  xs.Serialize(tw,<Hier das Objekt>); 

// Datei 'fname' schließen
  tw.Close();

Ist nicht besonders elegant, weil dann die Stylesheet-Zeile ganz am Anfang des XML-Dokuments liegt, also noch vor der Zeile

Code:
<?xml version="1.0" encoding="utf-8"?>

aber es funktioniert. Also wer weiß, wie das noch eleganter funktionieren tut, also daß die Zeilen auch in der richtigen Reihenfolge oben stehen, der möge jetzt sprechen oder für immer schweigen. ;)

Gruß, Hendrik
 

erik s.

Erfahrenes Mitglied
Hey,

aber solche Typen sind besser als die, die gar nichts verstehen ;)

Was mich jetzt interessieren würde (habe mit dem XMLSerializer noch nicht gearbeitet, habe es aber vor in naher Zukunft zu tun) ist, wozu dieses Stylesheet in der Auslagerung gut ist.

MfG erik
 

jccTeq

Erfahrenes Mitglied
Mit XSLT kann man ganz viele tolle Sachen machen. Es geht dabei darum, die in der XML-Datei enthaltenen Daten automatisch in ein anderes Format zu exportieren. In meinem Fall wollte ich die exportierten Objekte optisch aufgewertet im Internet-Explorer anzeigen können. Dafür ist der Eintrag mit dem xml-stylesheet. Im Stylesheet kannst du definieren, wie das fertige Dokument aussehen soll, das aus der XML-Datei generiert wird. Extrem praktisch!

Such dir mal Informationen über XSL/XSLT/XML im Internet raus. Gibt tonnenweise davon. Für empfehlenswert halte ich die WebSite SelfXML (mal nach googlen) und das Buch "XML, XSLT, VB und ASP" aus dem Galileo-Verlag.

Hoffe, du kannst damit was anfangen. Sehr interessant, die ganze Thematik.