DanielK: dynamisch XML Datei erzeugen und Anzeigen

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

  1. 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

    --
    kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
    Forum Vermessung im Portal Geodäsie und Geoinformatik
    1. @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?

      1. Hallo DanielK,

        da ansonsten der gesamte HTML-Content mitgespeichert wird.

        Welcher HTML-Teil?

        Mit freundlichem Gruß
        Micha

        --
        kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
        Forum Vermessung im Portal Geodäsie und Geoinformatik
        1. 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.

          1. 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

            --
            kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
            Forum Vermessung im Portal Geodäsie und Geoinformatik
            1. 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.

              1. 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

                --
                kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
                Forum Vermessung im Portal Geodäsie und Geoinformatik
                1. 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.

                  1. 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

                    --
                    kostenlose JavaScript Spiele: Snake, MineSweeper oder Sudoku
                    Forum Vermessung im Portal Geodäsie und Geoinformatik
                    1. 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)

                    2. --> Hat sich mittlerweile geklärt - ich habe das jetzt selbst programmiert.

  2. 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