Ralf Schneider: XML-Code anzeigen

Ich möchte gerne XML-Code, der vom Server generiert wird, in einem separaten Fenster anzeigen, damit der Benutzer dort über die SaveAs-Funktion des Browsers den XML-Code als XML-Datei abspeichern kann (so eine Art Export-Funktionalität).

Bisher bin ich soweit, dass der XML-Code in einem Hidden-Field steht und sich auch mit alert() anzeigen lässt.

Mein erster Versuch, den XML-Code in einem neuen Fenster anzuzeigen, sieht so aus:

function showXML ()
{
  var dlg = window.open ('about:blank', 'selectTaste', 'scrollbars=no, menubar=yes, width=540, height=430, left=0, top=0');
  var doc = dlg.document;
  doc.open('text/xml', 'replace');
  doc.writeln ('<?xml version="1.0" encoding="ISO-8859-1"?>');
  doc.write (document.myForm.xmlData.value);
  doc.close();
}

Leider wird hiermit immer ein leeres Fenster angezeigt. Wenn ich mir den Quelltext des Fensters anzeigen lassen, sehe ich meinen XML-Code. Wie kriege ich es hin, dass mir ein XML-Baum angezeigt wird (so, wie wenn man eine XML-Datei aufruft)?

Ralf.

  1. hi,

    Ich möchte gerne XML-Code, der vom Server generiert wird, in einem separaten Fenster anzeigen, damit der Benutzer dort über die SaveAs-Funktion des Browsers den XML-Code als XML-Datei abspeichern kann (so eine Art Export-Funktionalität).

    und warum willst du dafür mit javascript herumeiern?

    warum lässt du nicht die (/eine) ressource, die die xml-daten zurückgibt, in dem neuen fenster öffnen?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. warum lässt du nicht die (/eine) ressource, die die xml-daten zurückgibt, in dem neuen fenster öffnen?

      Weil ich noch auf der Seite, wo der Benutzer seine Einstellungen für die XML-Generierung gemacht hat, ein Feedback in der Form "XX Datensätze exportiert" anzeigen möchte. Und die XML-Daten sollen dann eben in einem neuen Fenster angezeigt werden. Ich vermute mal, dass das dann nicht mehr geht, oder?

      Viele Grüße,
      Ralf.

      1. hi,

        warum lässt du nicht die (/eine) ressource, die die xml-daten zurückgibt, in dem neuen fenster öffnen?

        Weil ich noch auf der Seite, wo der Benutzer seine Einstellungen für die XML-Generierung gemacht hat, ein Feedback in der Form "XX Datensätze exportiert" anzeigen möchte. Und die XML-Daten sollen dann eben in einem neuen Fenster angezeigt werden. Ich vermute mal, dass das dann nicht mehr geht, oder?

        unter einsatz von AJAX oder eines framesets wäre auch das denkbar.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }