CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  XML/SOAP

javascript写xml的问题

楼主kindwell(kind)2005-07-15 16:07:34 在 Web 开发 / XML/SOAP 提问

代码如下:  
  var   xmlDoc1   =   new   ActiveXObject("Msxml2.DOMDocument");  
  var   xmlDoc2   =   new   ActiveXObject("Msxml2.DOMDocument");  
   
  xmlDoc1.load("test.xml");  
  var   rootNode   =   xmlDoc1.documentElement;  
  document.write("here   is   :"   +   rootNode.text   +   "<br>");  
   
  var   newNode   =   xmlDoc2.createElement("memo");  
  newNode.setAttribute("m",   "n");  
  rootNode.appendChild(newNode);  
  xmlDoc1.save("test.xml");  
  之前都正常,也能够在页面上打印出来xml里第一个节点的内容,  
  但是执行到xmlDoc1.save的时候,就说不能够写入,换成绝对路径  
  如"C:\\text.xml"也不行,为什么啊?怎样解决呢? 问题点数:40、回复次数:11Top

1 楼net_lover(【孟子E章】)回复于 2005-07-15 16:15:28 得分 20

web上不允许与本地文件进行操作的。Top

2 楼yizia(椅子)回复于 2005-07-15 16:23:21 得分 10

server.mappath("test.xml")  
   
  你没有说在什么环境下运行,如果是执行服务器端脚本,还需要把这个文件的文件夹的匿名用户写入权限打开。  
  如果是客户端脚本,我想,除了文件夹的安全设置,还有ie的安全设置,都会影响到存储。  
  Top

3 楼kindwell(kind)回复于 2005-07-15 16:33:53 得分 0

yizia(椅子),我是用javascript写的,应该不会涉及到server.mappath  
  的问题吧。我是在本机执行这个东西,ie安全设置的是默认的,文件夹  
  的安全设置,指的是什么?  
   
  孟子兄,帮我想想办法吧,用javascript读写access和text在本地都可以  
  执行,为什么就是xml不能呢?再帮我想想好吗?Top

4 楼ssm1226(雨中人(虚心学习))回复于 2005-07-15 16:50:46 得分 10

IE安全问题,如果允许写文件的话,那不就太不安全了  
   
  Top

5 楼kindwell(kind)回复于 2005-07-15 16:52:32 得分 0

ssm1226(雨中人)   ,是在本地对文件操作啊,对text文本和excel文件  
  都可以读写的,为什么就是xml不行呢?Top

6 楼ssm1226(雨中人(虚心学习))回复于 2005-07-15 17:09:35 得分 0

你可以本地对text文件读写?!~~Top

7 楼kindwell(kind)回复于 2005-07-15 17:14:18 得分 0

下面这段是对text进行读写。  
  function   getCountFromTxt()   {  
          var   filePath   =   location.href.substring(0,   location.href.indexOf("Cnt2.htm"));  
          document.write("before   cut:"   +   path   +   ".   <BR>");  
          var   path   =   filePath   +   "count.txt";  
          path   =   path.substring(8);  
          document.write("after   cut:"   +   path   +   ".   ");  
          var   nextCnt   =   0;  
   
          var   fso,   f1,   ts,   s;  
          var   ForReading   =   1;  
          var   ForWriting   =   2;  
   
          fso   =   new   ActiveXObject("Scripting.FileSystemObject");  
          f1   =   fso.GetFile(path);  
          ts   =   f1.OpenAsTextStream(ForReading,   true);  
          s   =   ts.ReadLine();  
          nextCnt   =   eval(s)   +   1;  
          document.write("now   count   is   :"   +   s);  
          ts.Close();  
   
          ts   =   f1.OpenAsTextStream(ForWriting,   true);  
          ts.WriteLine(nextCnt);  
          ts.close();  
  }  
   
   
  下面这段是对excel进行读写。  
  function   getCountFromExcel()   {  
          var   filePath   =   location.href.substring(0,   location.href.indexOf("Cnt2.htm"));  
          var   path   =   filePath   +   "TEST.XLS";  
  var   sss;  
  var   ExcelSheet;  
  ExcelApp   =   new   ActiveXObject("Excel.Application");  
  var   oAddin   =   ExcelApp.Workbooks.Open(path);  
  sss   =   oAddin.ActiveSheet.Cells(1,1).Value;  
  oAddin.Application.Quit();  
   
  ExcelSheet   =   new   ActiveXObject("Excel.Sheet");  
  //   Make   Excel   visible   through   the   Application   object.  
  ExcelSheet.Application.Visible   =   false;  
  //   Place   some   text   in   the   first   cell   of   the   sheet.  
  ExcelSheet.ActiveSheet.Cells(1,1).Value   =   "2";  
  //   Save   the   sheet.  
  ExcelSheet.SaveAs(path);  
  //   Close   Excel   with   the   Quit   method   on   the   Application   object.  
  ExcelSheet.Application.Quit();  
  document.write("excel   cnt:"   +   sss);  
   
  }  
  Top

8 楼ssm1226(雨中人(虚心学习))回复于 2005-07-15 17:15:47 得分 0

这样操作的话,对客户端太不安全了吧~~~Top

9 楼ssm1226(雨中人(虚心学习))回复于 2005-07-15 17:19:19 得分 0

你是如何运行你程序的,以:http://方式访问还是file:///方式?Top

10 楼kindwell(kind)回复于 2005-07-15 17:34:16 得分 0

对,这样不安全,而且保密性也不高,所以我只是想用来存储计数器这样的  
  小东西。  
  在本地执行,当然是通过files://方式了,在http://状态下是不可用的。  
   
  这个问题的产生,是因为我申请的免费个人空间,只支持静态页面和js,我  
  想在主页上添加个计数器,用申请来的免费计数器的话,打开我的主页的时候  
  还要再连到那个计数器的网站去,会拖慢我的页面的速度,所以我就一直努力  
  想找到能用javascript写计数器的方法。  
  用javascript操作access数据库和text文本文件,都是费尽力气才在本地调试  
  成功的,但是传上去以后却全是说没有建立对象的权限,或者不能操作其他的  
  数据库。我很懊恼,所以想再试试xml的方式,目前虽然只能做到在http://方  
  式下读出xml文件里的count,但是比起前两个方法,已经有进步了,前两个连  
  读出来count都做不到,唉。Top

11 楼yizia(椅子)回复于 2005-07-18 10:13:00 得分 0

不管是xml还是text,甚至与其他,你要通过在客户端执行的脚本把数据存储到服务器上?  
  假设你是asp程序员,<%...%>之间的代码是在服务器端执行的,只要你的空间支持写入,那么你可以存储文件或修改文件。  
  <script>...</script>是在客户端执行的,就是说谁打开了你的网站,那么就在谁的机器上运行,你说能存到服务器上吗?  
   
  这可能是最简单最容易理解的语言了。Top

相关问题

  • javascript可以读写XML文件吗?
  • 关于JavaScript 写 XML文件的问题 ,高分求助(100)
  • 高分求助用JavaScript读写XML文件.
  • 高分求助用JavaScript语法读写XML文件
  • JavaScript调用XML的问题
  • 练习下DHtml,javascript,xml,
  • javascript 读xml (xmlhttp)方法
  • (ajax)javascript 解析xml出错
  • 如何使用JavaScript提出XML数据??
  • javascript和xml的问题,在线等

关键词

  • 文件
  • 执行
  • 文件夹
  • 服务器
  • 安全
  • excel
  • javascript
  • document
  • xml
  • nextcnt

得分解答快速导航

  • 帖主:kindwell
  • net_lover
  • yizia
  • ssm1226

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo