XML ausgeben

Grüneshalbzeug

Grünschnabel
hi,

ich möchte einen XML-string (der mal dynamisch erzeugt wird) in einem neuen Browser-Fenster ausgeben, aber so wie normal reine XML-files behandelt werden. Also als Baumstruktur mit auf- und zuklappen der Knoten, Einrückungen usw. So wie es im Moment ist, wird der String halt nur als String in einer HTML-Datei ausgegeben (ohne diese nette Formatierung), also nicht als XML behandelt. Kopiere ich den selben XML-String in eine .xml-Datei und öffne diese mit einem Browser, wird es richtig angezeigt (als formatierter Baum). Also denk ich mir muss ich den Befehlen irgendwie den Mime-Typ richtig mitgeben oder ich erstelle irgendwie eine dummy xml-Datei die ich dann mit dem xml-string dynamisch beschreibe. Ist eines von den beiden möglich?

test.html: hier rufe ich nur die funktion auf die mir das fenster erstellt
Code:
<html>
<head>

<title>Test</title>
<script src="test.js" type="text/javascript"></script>

</head>
<body>
<input name="sendRequest" type="button" id="sendRequest" onclick="popup()" value="send request" />

</body>

test.js: hier öffne ich ein neues Fenster und schreibe meinen xml-string rein
Code:
function popup(){
var xmlText = "<?xml version='1.0' encoding='UTF-8' standalone='no'?><Hallo><Test>Hallo World</Test></Hallo>";

	popWin = window.open("", "popup");
	popWin.document.open("text/xml");
	popWin.document.write(xmlText);
	popWin.document.close();
}
 
Moin,

document.open() scheint generell ein HTML-Dokument zu erzeugen, auch wenn dort hier und da von dem Parameter zu Lesen ist.

Was gehen sollte....erstelle ein Dummie-XML-Dokument, welches du öffnest.
Dieses sollte sich dann über die DOM-Methoden manipulieren lassen.
 
ok, also das dummy-file öffne ich mal einfach so:
Code:
popWin = window.open("dummy.xml", "popup");
aber welche DOM-Methoden meinst du jetzt?

wenn ich das dummy.xml file mittels
Code:
popWin.document.write(xmlText);
beschreiben will geht es auch nicht.
 
Mit DOM-Methoden meine ich createElement, appendChild etc.

Die bequeme Lösung durch Hineinschreiben von HTML-Code musst du wohl vergessen, und stattdessen mit Knoten arbeiten, welche du erzeugst und in das XML-Dokument einhängst.

<edit>
Sorry, ich merke grade, dass der Manipulation über die DOM-Methoden der Zugriff verweigert wird :(
</edit>
 
Zurück