dynamisch XML Datei erzeugen und Anzeigen
DanielK
- javascript
Hallo,
ich möchte mit einem Javascript ein XML-Dokument erzeugen, welches in einem neuen Fenster angezeigt wird, so dass der Anwender dieses einfach über "speichern unter" als XML Datei ablegen und später wieder öffnen kann. Hat das schon mal jemand gemacht?
Vielen Dank
Hallo DanielK,
welches in einem neuen Fenster angezeigt wird
Dann öffne ein http://de.selfhtml.org/javascript/objekte/document.htm#open@title=PopUp
ein XML-Dokument erzeugen
und http://de.selfhtml.org/javascript/objekte/document.htm#writeln@title=fülle es.
Mit freundlichem Gruß
Micha
@Micha: Das habe ich bereits erfolgreich umgesetzt - sorry, dass ich das nicht erwähnt habe - aber:
Wenn ich so ein Popup öffne und Inhalt hinzufüge, muss ich unter "speichern unter" jedes Mal den Dateityp "Textdatei" auswählen, da ansonsten der gesamte HTML-Content mitgespeichert wird. Kann man die Seite nicht direkt als XML speichern?
Hallo DanielK,
da ansonsten der gesamte HTML-Content mitgespeichert wird.
Welcher HTML-Teil?
Mit freundlichem Gruß
Micha
Welcher HTML-Teil?
So öffne ich ein popup und schreibe dort meinen XML-Tree rein:
XMLWindow = window.open("about:blank", "XMLExport", "width=450,height=450,resizable=0,scrollbars=0,menubar=1,toolbar=0,location=0,status=0");
XMLWindow.focus();
with( XMLWindow.document )
{
open();
write('<html><body><pre>');
write(XMLTree);
write('</pre></body></html>');
close();
}
Wenn ich nun auswähle "speichern unter / nur HTML" speichert er die gesamte Seite, die dieses Popup erzeugt, nicht aber nur den Inhalt.
Hallo DanielK,
write('<html><body><pre>');
write(XMLTree);
write('</pre></body></html>');die dieses Popup erzeugt, nicht aber nur den Inhalt.
Ich würde meinen, er speichert hier alles, was Du ihm vorgibt im <http://de.selfhtml.org/javascript/objekte/window.htm#open@title=neuen Fenster>. Also "<html><body><pre>", den Inhalt von Deiner Variablen XMLTree und die schließenden Tags. Was kommt Bei Dir an?
Mit freundlichem Gruß
Micha
Zunächst sieht es ja ganz gut aus, d.h. wenn ich mir den Quelltext des Popups anschaue, sehe ich auch nur die entsprechenden Tags. Wenn ich dann die Seite speichere, wird der Quellcode der Datei gespeichert, aus welcher ich das Fenster geöffnet habe. In der Adressleiste ist die URL zu dieser Page auch zu sehen.
Hallo DanielK,
interessant, wenn ich mir hier das SELFHTML-Beispiel bei PopUps ansehe und dieses (neue Fenster) speichere, wird auch nur der Inhalt gespeichert.
Mit freundlichem Gruß
Micha
Welchen Browser benutzt du? Ich verwende FireFox 3.5.
Hier bei SelfHTML finde ich nur Beispiele, bei denen eine URL in ein Popup geladen wird, bzw. nur die Möglichkeit eine neue Seite zu öffnen.
Hallo DanielK,
Welchen Browser benutzt du? Ich verwende FireFox 3.5.
Opera
Hier bei SelfHTML finde ich nur Beispiele, bei denen eine URL in ein Popup geladen wird
Ja, ich weiß. Ich hatte aber nicht gedacht, dass es da einen Unterschied dann gibt.
Mit freundlichem Gruß
Micha
Ich habe das jetzt mal im IE getestet und das funktioniert es so, wie du meintest... diese Browserunterschiede sind wirklich nervig.
Zum Thema Browserunterschiede: Kennst du eine Methode, die auch beim IE funktioniert, mit der man einen XML-String formatiert als XML ausgeben kann? Für Firefox benutze ich:
var serializer = new XMLSerializer();
var prettyString = XML(serializer.serializeToString(XMLdoc)).toXMLString();
(Quelle: https://developer.mozilla.org/en/Parsing_and_serializing_XML)
--> Hat sich mittlerweile geklärt - ich habe das jetzt selbst programmiert.
Hallo DanielK,
ich möchte mit einem Javascript ein XML-Dokument erzeugen, welches in einem neuen Fenster angezeigt wird, so dass der Anwender dieses einfach über "speichern unter" als XML Datei ablegen und später wieder öffnen kann.
Muss das generieren des XML-Dokuments unbedingt im Client erfolgen? Falls nicht, schreibe ein serverseitiges Script welches das Erstellen und den Download in einem Rutsch erledigen und rufe es automatisch auf.
Mit freundlichen Grüßen,
Steffen Bruchmann