IE下写xml文件的两种方式(fso/saveAs)

出于安全考虑,Firefox等浏览器不支持写本地文件。
IE下可以通过以下几种方式写xml文件

方式一:fso


代码如下:

// LoadXML()见上一篇IE下读取XML
var xmlDom = loadXML("config.xml");
var contentText = "";
if(typeof xmlDom.xml != 'undefined') {
contentText = xmlDom.xml;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.CreateTextFile("D:\\test\\test.xml", true);
file.Write(contentText);
file.Close();

创建文本文件
CreateTextFile(filename,overwrite,unicode)
filename:文件名
overwrite:如果文件存在,是否覆盖;缺省为false
unicode:文件的内容是否存储为unicode文本;缺省为false

方式二:saveAs
在页面嵌入隐藏iframe,


代码如下:

<iframe name="export" src="about:blank" style="display:none;"></iframe>

将xml内容写入iframe,另存为文件。


代码如下:

var frame = window.frames["export"];
frame.document.open();
frame.document.write(contentText);
frame.document.execCommand("saveAs",true,"test.xml");
frame.document.close();

另外,IE XMLDOM有一个save方法
提示没有权限,浏览IE的安全策略设置,也没发现可以修改权限的地方
这种方法应该是不可行。

(0)

相关推荐

  • IE下写xml文件的两种方式(fso/saveAs)

    出于安全考虑,Firefox等浏览器不支持写本地文件. IE下可以通过以下几种方式写xml文件 方式一:fso 复制代码 代码如下: // LoadXML()见上一篇IE下读取XML var xmlDom = loadXML("config.xml"); var contentText = ""; if(typeof xmlDom.xml != 'undefined') { contentText = xmlDom.xml; var fso = new Active

  • 分享python 写 csv 文件的两种方法

    目录 问题描述 方法一: csv 方法二: pandas 问题描述 在深度学习相关任务的训练时,需要在训练的每个 epoch 记录当前 epoch 的准确率(如下图所示),那么在 python 中要怎么将内容写入 csv 文件呢,学习发现可以使用 csv 或者 pandas 实现,在这里做个简单记录. 这里示例的代码为以追加模式写,每次写入一行 方法一: csv import csv log_path = 'log/temp.csv' file = open(log_path, 'a+', en

  • Spring加载properties文件的两种方式实例详解

    在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便.在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式.下面分别讨论下这两种方式. 1. 通过xml方式加载properties文件 我们以Spring实例化dataSource为例,我们一般会在beans

  • Vue单页应用引用单独的样式文件的两种方式

    问题描述 对于.vue的文件来说,也是由结构.行为.样式三部分组成,在样式部分有个scoped的属性,也就是当前页面有效,当style标签内样式比较多时或者.vue文件之间有重复的时候,总感觉看起来不够整洁,所以就需要引入一些公共样式.下面就先说下如何引入单独的样式文件,这里就以CSS文件为例,之后再说下我的项目中的样式文件的划分 引入单独的样式文件 方式一 在main.js中引入静态资源,这种方法使得该样式文件被项目中的组件所共享 // The Vue build version to loa

  • Laravel基础-关于引入公共文件的两种方式

    (1).首先在app\Http\routes.php中定义路由: Route::get('view','ViewController@view'); Route::get('article','ViewController@article'); Route::get('layout','ViewController@layout'); (2).然后在Http\Controllers\ViewController.php中写入方法: public function view(){ return v

  • Python简单实现安全开关文件的两种方式

    本文实例讲述了Python简单实现安全开关文件的两种方式.分享给大家供大家参考,具体如下: 以下代码经Python3.3测试. 方式1: try: file = open('config.ini', 'w') print("It's a text file", file=file) except IOError as err: print('File error: ' + str(err)) finally: if 'file' in locals(): file.close() 方式

  • Vue导入excel文件的两种方式(form表单和el-upload)

    目录 前言 第一种方法:form表单 一.文件上传的三要素是什么? 二.具体使用步骤 第二种方法:el-upload 总结 前言 两种导入文件的方法:form表单和el-upload 第一种方法:form表单 一.文件上传的三要素是什么? 文件上传的三要素: 表单post请求 input框的type=file 在form表单中添加enctype=“multipart/form-data” 二.具体使用步骤 代码如下(示例): <form action="/" method=&qu

  • 详解Centos下YUM安装PHP的两种方式

    在Centos下安装PHP时, 先后使用了两种方式进行实现, 现整理出来以作记录. 摘要 一般Centos下安装软件我们采用源码安装或者RPM包安装的方式,有时候更简单我们可以采用YUM源的方式 安装PHP的时候有个特殊的地方,其有两个YUM源可供选择 Webtatic方式安装升级PHP 安装webtatic源 [root@i-bskmtj6q ~]# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm Retrieving https

  • linux 下部署nodejs项目(两种方式)

    之前在linux下部署过几次NodeJS,也有些经验,最近也在Q群里有朋友问Node在linux下部署问题,于是总结一下,主要介绍两种不同的部署方式,二进制文件直接解压部署和手动编译安装,一来巩固自己的知识,二来希望能对新手有所帮助. 关于在node在linux的部署我认为主要有三种方式, 第一种就是自己下载源码,手动编译二进制,即是部署过程. 第二种方法 直接下载二进制文件解压即可. 第三种方式,使用yum install node或者apt-get install node安装(在linux

  • webstorm中配置Eslint的两种方式及差异比较详解

    写在前面 这两种方式的配置基本相同,都是配一下node地址,Eslint执行文件的地址,Eslint的配置文件(就是.eslintrc)等,而且网上很方便就可以搜索到,就不多说了. 之所以要比较一下两者的差异,就是因为对于没有配置过的同学来说,看了诸如"怎么在webstorm下配置Eslint"的问题下面的回答,既有说用方式1,又有说方式2的,然后这两种方式配置项还差不多(都是在webstorm的一个setting页面里面设置三四个项目,然后勾上enable复选框),就容易混淆. 再加

随机推荐