繁体   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