我正在尝试从 LOCAL HTML 文件生成TEXT / XML文件。我知道在本地生成文件有很多答案,通常建议使用ActiveX对象或HTML 5。 我猜有一种方法可以让它在所有浏览器上运行(最后HTML扩展由浏览器打开,即使它是一个LOCAL文件)也很容易,因为这是用户自己输入的LOCAL文件。
我的HTML文件将在客户端的本地计算机上,而不是通过HTTP访问。 它基本上只是一个用HTML编写的表单,在“SAVE”命令下应该在本地磁盘(用户决定的任何地方)生成XML文件并保存表单的内容。
有什么好办法吗?
答案 0 :(得分:0)
我能想到的一种方法是,可以将html表单元素设置为类变量,然后使用jaxb上下文,可以创建一个XML文件。
答案 1 :(得分:0)
您可以使用base64 data-urls(不支持IE9-)下载文件:
首先,您需要为要下载的文件创建临时iframe元素:
var ifrm = document.createElement('iframe');
ifrm.style.display = 'none';
document.body.appendChild(ifrm);
然后,您需要定义要下载的文件内容,并将其转换为base64 data-url:
var html = '<!DOCTYPE html><html><head><title>Foo</title></head><body>Hello World</body></html>';
htmlurl = btoa(html);
并将其设置为iframe
的来源ifrm.src = 'data:text/x-html;base64,'+htmlurl;