怎样往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写,不知道怎么实现了

谢谢
...全文
94 点赞 收藏 14
写回复
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日
楼主的想法是什么呢?这样做有什么意义吗?
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告