[VBS] XML Datei ohne Escape

DexXxtrin

Erfahrenes Mitglied
Hallo zusammen

Ich generiere aus einem VBScirpt heraus eine XML-Datei.
Dabei möchte ich das Zeichen & ausgeben, welches allerdings durch & ersetzt wird.
Wie kann ich diese Ersetzung vermeiden? Ich kann an der Struktur der XML-Datei nichts ändern,
da sie von einem anderen Programm benötigt wird, auf welches ich keinen Einfluss habe.

Gruss DexXxtrin

Code:
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
...
Set objIntro = xmlDoc.createProcessingInstruction ("xml","version='1.0' encoding='utf-8'")  
xmlDoc.insertBefore objIntro,xmlDoc.childNodes(0)  
xmlDoc.Save "test.xml"
 

DexXxtrin

Erfahrenes Mitglied
Ich hab es jetzt so gelöst, dass ich das File nach dem schreiben nochmals als Textdatei öffne und & durch & ersetzte.
 

ComFreek

Mod | @comfreek
Moderator
Das Zeichen '&' leitet in XML eine Entity ein. Beispielsweise ist '&' selbst eine Entity. Deswegen muss '&' durch '&' kodiert werden.

Wieso willst du denn '&' erneut durch '&' ersetzen? Dies führt wahrscheinlich zu einem nichtgültigen XML-Dokument.
Ich vermute, dass ein Anzeigeprogramm, in welches du die XML-Datei lädst, fälschlicherweise '&' statt '&' anzeigt. Dies ist dann allerdings ein Fehler des Anzeigeprogramms.
 

DexXxtrin

Erfahrenes Mitglied
Naja nicht direkt. Das Programm zeigt schon nicht '&' an sondern '&'. Allerdings verwendet das Programm das '&' in der Sequenz für einen Zeilenumbruch.
Wenn in der Datei anstelle '&' nun '&' steht, ist danach im Programm die Sequenz für den Zeilenumbruch zu lesen. Richtig interpretiert wird er allerdings nur wenn '&' dirket drin steht.

Beispiel:

Code für Zeilenumbruch: #&asq;

Text in XML: Hallo #&asq; World
Darstellung im Programm:
Code:
Hello #&asq; World

Text in XML: Hallo #&asq; World
Darstellung im Programm:
Code:
Hello
World
 

Neue Beiträge