簡體   English   中英

在IE8中使用“另存為” execCommand將XML文件保存為ANSI格式,而不是UCS2-Little Endian

[英]Using “Save As” execCommand in IE8 to save XML file in ANSI format instead of UCS2-Little Endian

我目前僅在Internet Explorer 8中嘗試使用Javascript中的“ SaveAs” execCommand保存XML數據。我在打開窗口后使用document.write(xml)寫入xml內容。IE8中的document對象使用saveAs Exec命令,允許用戶將xml文件保存在本地文件夾中。生成了XML文件,但沒有為我需要發送此ANSI / UTF-8編碼的XML的其他接口設置編碼為我的首選類型我只能將XML保存為UCS2小端編碼格式。以下是我正在使用的代碼。

 var location = "D:\\export_to_MCT"+dateTime+".xml";

    var xml = tmpSelectedConfigurationXML.transformNode(xslDoc);// XML Is generated here
   alert(xml);
     **var testlink = window.open  ("about:blank","_blank","toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left=10000, top=10000, width=10, height=10, visible=none");
     testlink.document.write(xml); //fileData has contents for the file
testlink.document.close();
testlink.document.execCommand('SaveAs', false, location);**
testlink.close();

我的目的是將XML以ANSI / UTF-8編碼保存而沒有BOM格式。我不能使用ActiveX對象的Scripting.FileSystemObject方法。

從XML剝離不支持的字符

由於XML文檔中並非所有UTF-8字符都被接受,因此您需要從生成的任何XML中剝離所有此類字符。 讀取xml文件后,替換'/ [^ \\ x {0009} \\ x {000a} \\ x {000d} \\ x {0020}-\\ x {D7FF} \\ x {E000}-\\ x {FFFD}] + /你和''

或嘗試使用testlink.document.charset =“ UTF-8”;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM