使用Javascript创建XML文件

这篇博客介绍了如何使用JavaScript创建XML文件,并通过ActiveXObject进行处理。内容包括两种创建XML文档的方法,以及两种保存XML文件的方式。在保存过程中,提到了可能出现的文件头部encoding丢失的问题。同时,列举了常见错误及其解决办法,如'Automation服务器不能创建对象'和'尝试修改一个只读节点',并提供了相应的解决方案,如启用FSO功能和设置XML文档同步载入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function  CreateXml()
{
    
//创建方法一
    var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
    xmldoc.async 
= false;
    xmldoc.load(
"temp1.xml");
    
    
var p=xmldoc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'");//创建声明
    xmldoc.appendChild(p);//添加声明
    
    
var root=xmldoc.createElement("root");//创建根节点。
    //var root = doc.createNode(1,"students","");//也可以这样创建根节点。
    xmldoc.appendChild(root);
    
    
//创建方法二
    var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
    xmldoc.async 
= false;
    xmldoc.load(
"temp3.xml");
    
var content="<?xml version='1.0' encoding='gb2312'?><root/>"
    xmldoc.loadXML(content);
    
    
//保存方法一
    xmldoc.save("c:/temp1.xml");
    
    
//保存方法二
    var fso=new ActiveXObject("Scripting.FileSystemObject");
    
var ts=fso.createTextFile("C:/temp2.xml",true);
    ts.write(xmldoc.xml);
    ts.close();
}
 问题:使用保存方法二得到的xml文件是
<?xml version="1.0"?>
<root/>
文档的头部丢失了encoding='gb2312'。
常见的错误:
1、automation服务器不能创建对象
解决方法
(1).主要是Scripting.FileSystemObject (FSO 文本文件读写)被关闭了,开启FSO功能即可,在“运行”中执行regsvr32 scrrun.dll

(2).如果javascript脚本中报这个错误是因为IE的安全设置不允许运行未标记为安全的activeX控件 更改IE的安全设置,把相应的选项打开即可。
2、尝试修改一个只读节点
   解决方法:设置dom.saync=false;//是否同步载入。
saync: Specifies if asynchronous download is permitted.
在默认情况下,XML文档的装载和解析不是同步发生的,为了同步装载XML文档,应把async特性设置为false。
false即不同步,即完成dom的读取后再执行以下的操作
true  即在load的时候可进行其他操作   不会出现线程死锁  
但在服务器端脚本中只能为false
(这是在网上找到的一点资料,至于saync的深层含义,还是不甚了解。)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值