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 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的深层含义,还是不甚了解。) |
|
来自: JS资料库 > 《javascript》