使用Javascript创建XML文件


       使用Javascript创建XML文件  
      在客户端创建XML文件可以使用FileSystemObject (FSO) 对象或直接使用XML Document Object Model
      (DOM)。若使用FSO则客户端必须安装 Window Script 5.5,使用XML DOM则需要在客户端安装有Microsoft® XML
      Core Services。安全性方面需要在IE的安全设置中启用ActiveX控件。
      1、使用FSO创建XML文件
      使用FSO对象的GetSpecialFolder方法获得要创建文件所在目录,(GetSpecialFolder方法参数的设置可参见Window
      脚本技术文档),然后使用CreateTextFile方法创建一个文本文件并获得一个指向该文件的对象引用,调用文本文件对象的WriteLine方法向文件中写内容,最后关闭对象。
      值得注意的是在使用CreateTextFile创建文件时,最后一个指示文件创建方式的参数应该设置为true以表示以Unicode方式创建,并将XML文件的编码设置为UTF-16,这样创建的XML文件才能正常使用。
      <script language=javascript>
      function CreateXML(){
          var fso, tempfolder, xmlfile, schar;
          fso = new ActiveXObject("Scripting.FileSystemObject");
          tempfolder = fso.GetSpecialFolder(0);
          xmlfile = fso.CreateTextFile(tempfolder+"XML.XML",true,true);
          schar = '/r';
          xmlfile.WriteLine('<?xml version="1.0" encoding="UTF-16" ?>'+schar);
          xmlfile.WriteLine('<document title="information">'+schar);
          for(var i=0;i<10;i++){
              xmlfile.WriteLine('<xmlnode type="node" name="node'+i+'"
      />'+schar);
          }
          xmlfile.WriteLine('</document>');
          xmlfile.Close();
      }
      </script>
      2、使用XML DOM创建XML文件
      首先创建一个DOMDocument对象,调用其load方法加载一个本地文件,在加载过程中如果文件不存在将会创建一个新文件,然后构造文档内容字符串,构造完后调用loadXML方法加载XML内容,最后调用save方法写文件。
      使用XML DOM创建XML
      文件需要非常小心内容格式是否正确,否则创建的文件中是不会有任何内容的,因为XMLDOC在写文件时已经判断了格式,如果不正确则save方法会失败。
      <script language=javascript>
      function CreateXML(){
            var xmldoc, xmlnode;
          xmldoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
          xmldoc.load("C://XML.xml");
          schar = '/r';
          xmlhead = '<?xml version="1.0" encoding="UTF-16" ?>'+schar;
          xmltitle = '<documenttitle="information">'+schar;
          xmlnode = '';
          for(var i=0;i<10;i++){
              xmlnode = xmlnode + '<xmlnode type="node" name="node'+i+'"
      />'+schar;
          }
          xmlfoot = '</document>';
          strXML = xmlhead+xmltitle+xmlnode+xmlfoot;
          xmldoc.loadXML(strXML);
          xmldoc.save("C://XML.xml");
      }
      </script>


 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用JavaScript内置的XML解析器DOMParser来解析XML文件XML格式字符串。下面是一个示例代码: ```javascript // 定义一个XML格式的字符串 var xmlString = '<root><person><name>张三</name><age>18</age></person></root>'; // 创建一个DOMParser对象 var parser = new DOMParser(); // 解析XML字符串 var xmlDoc = parser.parseFromString(xmlString, 'text/xml'); // 获取XML文档中的元素 var name = xmlDoc.getElementsByTagName('name')[0].childNodes[0].nodeValue; var age = xmlDoc.getElementsByTagName('age')[0].childNodes[0].nodeValue; // 打印结果 console.log('name:', name); console.log('age:', age); ``` 在上面的代码中,我们首先定义了一个XML格式的字符串,然后创建了一个DOMParser对象使用parseFromString方法来解析XML字符串,最后从解析后的文档中获取元素并打印结果。 如果要解析XML文件,可以使用XMLHttpRequest对象来获取XML文件内容,然后再使用DOMParser解析。具体代码请参考下面的示例: ```javascript // 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 发送GET请求获取XML文件内容 xhr.open('GET', 'example.xml', true); xhr.send(); // 监听XML文件加载完成事件 xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { // 获取XML文件内容 var xmlString = xhr.responseText; // 创建DOMParser对象 var parser = new DOMParser(); // 解析XML字符串 var xmlDoc = parser.parseFromString(xmlString, 'text/xml'); // 获取XML文档中的元素 var name = xmlDoc.getElementsByTagName('name')[0].childNodes[0].nodeValue; var age = xmlDoc.getElementsByTagName('age')[0].childNodes[0].nodeValue; // 打印结果 console.log('name:', name); console.log('age:', age); } }; ``` 在上面的代码中,我们创建了一个XMLHttpRequest对象使用GET请求获取XML文件内容,然后使用DOMParser解析XML字符串,最后从解析后的文档中获取元素并打印结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值