1Danke
ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
993
993
EMPFEHLEN
-
Hallo zusammen,
ich habe über die suche zwar viel zum XmlTextWriter gefunden, aber nichts zu meinem Problem!
Folgendes:
Ich erzeuge anhang von Datenbankabfragen ein XSLT-File welches später beim parsen mit Daten gefüllt wird. Mein Programm dient also nur zu vereinfachten Erstellung der XSLT-Dateien.
Nun möchte ich, dass der spätere XSLT-Parser an Stelle X einen Zeilenumbruch einfügt. Bisher habe ich das per Hand in die Datei geschrieben:
Code :1
<xsl:text>
</xsl:text>
Das hat auch prima funktioniert. Allerdings steht ich nun vor dem Problem, dass wenn ich diese Zeile mit dem XmlTextWriter schreibe, er mir das & in & wandelt. Das ist doch aber Schwachsinn weil es eigentlich ja schon ein HTML-Entity ist.
Hier der Code:
Code vbnet:1 2 3
XMLobj.WriteStartElement("xsl:text") XMLobj.WriteString("
") XMLobj.WriteEndElement() ' xsl:text
Ergebnis in der erstellten XSLT-Datei ist folgendes (nochmal zur Verdeutlichung):
Code :1
<xsl:text>&#x0D;&#x0A;</xsl:text>
Wie kann ich verhinden das dieser Effekt auftritt
lg
-
05.02.09 14:51 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Na gute Idee - aber haut nich hin. Dann schreib er den LineFeed nich so dahin sondern direkt den Umbruch.
(Also eigentlich schreibt er ihn schon - aber für meine Verwendung falsch)
Ergebnis in der XSLT:
Code :1 2
<xsl:text> </xsl:text>
Gewünschtes Ergebnis bleibt weiterhin:
Code :1
<xsl:text>
</xsl:text>
Es geht ja darum, dass er keinen Umbruch machen soll, sondern ledeglich die HTML entities dafür schreiben soll, damit nach dem parsen der XSLT-Datei an der Stelle der Zeilenumbruch entsteht.
Versucht habe ich es mit:
Code vbnet:1
XMLobj.WriteString(Environment.NewLine)
Folgende Varianten gehen auch nicht - selbes Ergebnis
Code vbnet:1
XMLobj.WriteChars("
".ToCharArray, 0, "
".Length)
Code vbnet:1
XMLobj.WriteWhitespace(Environment.NewLine)
Code vbnet:1
XMLobj.WriteValue("
")
Auf weitere Lösungsvorschläge bin ich gespannt!
Dafür muss es doch eine Lösung geben...
Ich glaube ich liege mit folgender Variante garnich so falsch:
Allerdings wird das ganze als "ungültiges Namenszeichen" abgestempelt.
Code vbnet:1
XMLobj.WriteEntityRef(Environment.NewLine)
lgGeändert von Klein0r (05.02.09 um 15:17 Uhr)
-
05.02.09 15:13 #4
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
-
05.02.09 15:28 #6
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hi
Pack den Text, der Steuerzeichen enthält in eine CData-Section.Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
-
sollte nicht.
Ich versteh nur nicht, was du so richtig vor hast.
Xsl-Transformation dient dazu aus einem Xml uns einem Xsl-File eine neue Datei zu generieren. Mir scheint aber eher, dass du deine Daten schon komplett in das Xsl-File schreibst, die jedoch in die Xml-Datei gehören
Besser wäre es eigentlich, wenn du das Stylesheet (xsl) fest lässt und die Daten in eine Xml-Datei schreibst
bzgl CDATA:
http://de.wikipedia.org/wiki/XSL_Tra...ndert_ausgebenGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
Hi,
natürlich mache ich das auch so
Die XSLT beschreibt ledeglich die Tabellenstruktur der mySQL-Datenbank-Tabelle. Und für jede Tabelle will ich so eine XSLT-Datei erstellen mit der ich aus nem Query ne einfache CSV machen kann.
Weiß nicht obs dafür gedacht ist - aber es funktioniert.
Ist ja auch nicht mein Konzept...
Werde es morgen mit dem CDATA Probieren.
Glaube aber irgendwie gerade nich das der Zeilenumbruch dann richtig in der daraus erstellten CSV auftaucht.
lg
-
Danke! So gehts.
Allerdings mit kleinem Umweg für Windows (CRLF sind ja 2 Zeichen). Falls man das nicht mit der Schleife macht, wird nur der erste Char des Strings geschrieben.
Code vbnet:1 2 3
For Each c As Char In Environment.NewLine.ToCharArray XMLobj.WriteCharEntity(c) Next
Erledigt und danke für euere Unterstützung.
Ähnliche Themen
-
HTML Entities umwandel Problem
Von son gohan im Forum PHPAntworten: 2Letzter Beitrag: 10.03.08, 11:07 -
html entities
Von benni miles im Forum PHPAntworten: 6Letzter Beitrag: 06.08.07, 18:15 -
SimpleXML HTML Entities
Von Nambot im Forum PHPAntworten: 3Letzter Beitrag: 03.08.07, 00:49 -
HTML-Entities mit CSS formatieren
Von di-five im Forum CSSAntworten: 2Letzter Beitrag: 21.07.07, 01:29 -
html entities in Mehrfachauswahl
Von bollibopsel im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 04.05.07, 14:38





Zitieren



Login





