2011-06-20 18 views
0

私は、ファイルからXMLを解析して変更する小さなブラウザ側のJavaScriptを作成しています。出力は理想的には.xmlファイルになりますが、もちろんJSクライアントにファイルを書き込むことはほとんど不可能ですので、私はそれをあきらめました。E4X XMLプリミティブをMozillaの新しいtext/xmlウィンドウに書き込む方法は?

私はFirefoxはそれで私のシリアル化されたXMLで、contentTypeのテキスト/ XMLの新しいウィンドウを開くようにしたい:

var xmlDoc = new XML(SourceXMLString); //SourceXMLString is read from an xml text file 
output = window.open(""); 
output.document.open("text/plain"); 
output.document.write(xmlDoc.toXMLString()); 
output.document.close(); 

をしかし、任意のdocument.writeをインスタンスはとてもすべてをtext/htmlするのcontentTypeを設定しているようですタグは自然に間違ってレンダリングされます。 From this fixed bug document.openは適切なcontentTypeを作成するようですが、document.writeはそれを壊してしまいます。

  • これはFirefox 2以降でのみ動作する必要があります。
  • サーバー側はオプションではありません。
  • ECMAScript for XMLをサポートしているので、私はJavascript & Mozillaを使いました。

答えて

2

あなただけのXMLで新しいタブを開くしようとしている場合:

open("data:application/xml," + encodeURIComponent(xmlDoc.toXMLString())); 

ユーザーがダウンロード XMLにできるようにしたい場合は、代わりにアプリケーション/オクテットストリームを使用しますアプリケーション/ xmlの

関連する問題