'转换文件 Response.Write(xmlDoc.transformNode(xslDoc)) end function
function updateFile(xmlfile) Dim xmlDoc,rootEl,f Dim i
'加载 XML 文件 set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile)
'设置 rootEl 变量为根元素 Set rootEl = xmlDoc.documentElement
'循环遍历 form 集 for i = 1 To Request.Form.Count '除去表单中的按钮元素 if instr(1,Request.Form.Key(i),"btn_")=0 then 'selectSingleNode 方法可查询匹配某个查询的 XML 文件中的某个单一节点。 '此查询会请求 value 元素,此 value 元素是 field 元素的子元素, '而此 field 元素拥有可匹配表单集中当前 key 值的 id 属性。 '如果存在匹配,则设置 text 属性为表单集中当前域的值。 set f = rootEl.selectSingleNode("field[@id='" & _ Request.Form.Key(i) & "']/value") f.Text = Request.Form(i) end if next
'保存已修改的 XML 文件 xmlDoc.save xmlfile
'释放所有的对象引用 set xmlDoc=nothing set rootEl=nothing set f=nothing
'通过一个样式表加载已修改的 XML 文件,这样客户端就可以看到所编辑的信息 loadFile xmlfile,server.MapPath("tool_updated.xsl") end function
'如果表单已被提交,则更新XML文件并显示结果,如果没有被提交,则转换此 XML 文件以供编辑 if Request.Form("btn_sub")="" then loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl") else updateFile server.MapPath("tool.xml") end if %>