怎样往xml文件中指定的位置写一行?

leec1981 2005-03-23 06:23:36
比如有如下xml文件
<?xml version="1.0" encoding="GBK"?>
<config>
<Properties>
</Properties>
<Selects>
<select id="flowList">
<option value="" text="请选择..." />
<option value="newflow.xml" text="新流程" />
</select>
</Selects>
</config>
我想在</select>前添加一行
<option value="newflow1.xml" text="新流程1" />

我用 FileSystemObject 访问文件
先用OpenTextFile方法打开该文件,然后再用WriteLine写,不知道怎么实现了

谢谢
...全文
182 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2005-03-23
  • 打赏
  • 举报
回复
不是不允许.是在高安全极别的情况下不允许.如果客户机的IE把安全级别调为"低"就可以通过FSO来读写本地文件.
scoutlin 2005-03-23
  • 打赏
  • 举报
回复
为什么没办法写?

老生常谈了
安全问题

微软不允许这么做

试想想,能向客户端写文件,那还得了?
浏览你网页,塞满我硬盘?
scoutlin 2005-03-23
  • 打赏
  • 举报
回复
都跟你说了,只是一个镜像
没法真实写进去的
leec1981 2005-03-23
  • 打赏
  • 举报
回复
我这样做,在建一个新文件,去覆盖原来的文件
leec1981 2005-03-23
  • 打赏
  • 举报
回复
我现在好像出现了上面的问题
我打印出来是写进去了
但在我的文件中还是没有
怎么解决?
多多指教
scoutlin 2005-03-23
  • 打赏
  • 举报
回复
所有对DSO对象的操作都是在用户端完成的,实际上是服务器数据对象的一份复制品,这样做的好处是避免了网络承受大量数据通信的负担。但这时用户端所做的任何操作对服务器上存储的数据毫无影响,如果要想对服务器记录也进行修改,那么就要用到客户端与服务器端的数据交换
「已注销」 2005-03-23
  • 打赏
  • 举报
回复
接下来这样写:
var attrValue = xmlDoc.createAttribute("value");
attrValue.text = "newflow1.xml";
node.attributes.setNamedItem(attrValue);
var attrText = xmlDoc.createAttribute("text");
attrText .text = "新流程1";
node.attributes.setNamedItem(attrText);

var pnode = xmlDoc1.selectSingleNode("//select[@id='flowList']");
pnode..appendChild(node);

leec1981 2005-03-23
  • 打赏
  • 举报
回复
filename1 = 'main_zh.xml';
var xmlDoc1 = new ActiveXObject('MSXML2.DOMDocument');
xmlDoc1.async = false;
var flag = xmlDoc1.load('langs/'+filename1);
var xmlRoot1 = xmlDoc1.documentElement;
//alert(xmlRoot1.xml);
var node = xmlDoc1.createElement("option");
我做到这里了,再往下就不知道该怎么办了?
scoutlin 2005-03-23
  • 打赏
  • 举报
回复
js?
js只是操作一个镜像的xml
没有写的可能
leec1981 2005-03-23
  • 打赏
  • 举报
回复
我用js怎么写啊
谢谢
scoutlin 2005-03-23
  • 打赏
  • 举报
回复
假设你的XML文件名为2.xml

<%
set xml=server.createobject("microsoft.xmldom")
xml.async=false
xml.load server.mappath("2.xml")
set node=xml.createElement("option")
node.setAttribute "value","newflow1.xml"
node.setAttribute "text","新流程1"
set pnode=xml.selectsinglenode("//select[@id='flowList']")
pnode.appendChild node
xml.save server.mappath("2.xml")
set xml=nothing
%>
leec1981 2005-03-23
  • 打赏
  • 举报
回复
能不能具体些,我不清楚
「已注销」 2005-03-23
  • 打赏
  • 举报
回复
而且你应该用XMLDOM的appendChild方法来添加节点,而不是像你想的这样直接操作文本文件.
「已注销」 2005-03-23
  • 打赏
  • 举报
回复
楼主的想法是什么呢?这样做有什么意义吗?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧