2017-01-16 5 views
0

Ich habe eine Funktion in Javascript geschrieben, um XML zu erstellen. Ich bekomme eine Ausgabe durch ein aufgeschlagenes Fenster. Ich möchte diese Anzeige als Dokument speichern. Wie kann ich es speichern? Ich verwende "alert (xml)", um die Ausgabe anzuzeigen. Ich möchte diese Anzeige nur als Dokument speichern. Bitte jemand mir helfen.brauche Hilfe, um XML-Anzeige als ein Dokument zu speichern

<head> 
<script language="javascript" type="text/javascript"> 
function make_xml() 
{main code    
alert(xml);     
} 
//--> 
</script> 
</head> 
<body> 
<div class="title"> <h4>Create XML Report</h4></div> 
<div class="box"> 
Schema name<input type="text" id="name"><br /><br /> 
Dimensions:<br /> 
<input type="checkbox" name="dimensions" id="categories">categories<br /> 
<button type="button" class="btb" onclick="make_xml()">XML erstellen</button> 
</div>  
</body> 
</html> 

Vielen Dank. Mirish

+0

können Sie Code schreiben, damit wir daran arbeiten können. –

+0

Bitte stellen Sie eine [mcve] zur Verfügung und nehmen Sie sich ein paar Minuten Zeit, um [ask] zu lesen. – charlietfl

+0

Nicht klar, in welcher Umgebung Sie dies auch erstellen. Wenn es im Browser ist, muss es an den Server senden und dort speichern – charlietfl

Antwort

0

Sie können versuchen, ein Daten-URI zu erstellen und den Browser bitten, es in einem neuen Fenster zu öffnen. Die Verwendung eines Typs application/octet-stream sollte den Download erzwingen, aber wenn Sie damit einverstanden sind, dass es in einem neuen Fenster geöffnet wird, gehen Sie voran und verwenden Sie text/xml oder application/xml. Sie können bis auf Daten uris lesen, wenn Sie nicht vertraut sind, aber versuchen Sie die folgenden:

var xml = '<whatever>you did to get the xml</whatever>'; 
var uriContent = 'data:application/octet-stream,' + encodeURIComponent(xml); 
var newWindow = window.open(uriContent, 'downloadXmlWindow'); 

Es gibt Einschränkungen bei den Größen in einigen Browsern und es kann Grund zu base64 kodieren (wieder lesen, auf Daten uris) sein , aber hoffentlich bringt dich das in die richtige Richtung.

Verwandte Themen