在经典ASP中用XML附加新节点

时间:2013-08-15 13:53:20

标签: asp-classic vbscript

Hello Friends我正在处理经典ASP项目,我正在使用XML文件来进行CRUD操作。当文件不存在时,它可以正常工作以保存数据但文件已经存在如何在其中添加新的记录数据?我的代码:

If Not objFSO.FileExists( xmlFile ) Then 

                objFSO.CreateTextFile( xmlFile )
                set objWrite = objFSO.OpenTextFile( xmlFile, 2 )
                objWrite.WriteLine("<?xml version=""1.0"" encoding=""ISO-8859-1""?>")
                objWrite.WriteLine(tb & "<Slider>")
                objWrite.WriteLine(tb & tb & "<Header>" & Uploader.Form("headerText") & "</Header>")
                objWrite.WriteLine(tb & tb & "<Image>" & File.FileName & "</Image>")
                objWrite.WriteLine(tb & tb & "<Link>" & Uploader.Form("linkcontentText") & "</Link>")
                objWrite.WriteLine(tb & tb & "<Description>" & Uploader.Form("SliderText") & "</Description>")
                objWrite.WriteLine(tb & "</Slider>")

            End IF
            If objFSO.FileExists( xmlFile ) Then
            'append code , i have tried this but not working
            Set xmlDoc = CreateObject("Scripting.FileSystemObject")
              xmlDoc.async = False
              xmlDoc.load(Server.MapPath(xmlFile)
              Set fieldName = xmlDoc.createElement("Slider")
              Set attID = xmlDoc.createAttribute("Header")
              Set attID1 = xmlDoc.createAttribute("Image")
              Set attID2 = xmlDoc.createAttribute("Link")
              Set attID3 = xmlDoc.createAttribute("Description")
              attID.Text =  Uploader.Form("headerText")
              attID1.Text = File.FileName
              attID2.Text = Uploader.Form("linkcontentText")
              attID3.Text = Uploader.Form("SliderText")
              fieldName.setAttributeNode attID 
              fieldName.setAttributeNode attID1
              fieldName.setAttributeNode attID2
              fieldName.setAttributeNode attID3
              'xmlDoc.a
              'xmlDoc.Save(Server.MapPath("menu1.xml"))

            End If

请建议我一些解决方案。

1 个答案:

答案 0 :(得分:4)

明显的错误:

Set xmlDoc = CreateObject("Scripting.FileSystemObject")

应该是:

Set xmlDoc = CreateObject("Msxml2.DOMDocument")

这是否解决了所有你的问题,还有待观察。