|  | 主题:  急,请教下面的代码如何使用ASP往XML里写入数据! | 
            
                        
                
                    |  嘎嘎
 职务:普通成员
 等级:1
 金币:1.0
 发贴:287
 注册:2002/6/30 21:40:14
 
 | 
                            
                            #12005/7/9 7:54:50 
                                急,请教下面的代码如何使用ASP往XML里写入数据!
 <?xml version="1.0" encoding="gb2312"?>
 <xml>
 <mains>
 <id>1</id>
 <Background_Image>ok.jpg</Background_Image>
 <Background_Color>#000000</Background_Color>
 </mains>
 </xml>
 
 先谢谢!!!
 只含有一及子元素<mains>,我见过的都是含有两极的。ASP应该如何写呢??ID要累加??
 
 | 
                        
                
                    |  缺缺
 职务:管理员
 等级:8
 金币:41.0
 发贴:9620
 注册:2004/1/14 19:14:47
 
 | 
                            
                            #22005/7/9 14:21:11 
                                XML DOM或者直接当文本文件用FSO写
 | 
                        
                
                    |  绿茶
 职务:普通成员
 等级:8
 金币:10.0
 发贴:19267
 注册:2000/12/28 12:10:01
 
 | 
                            
                            #32005/7/9 15:56:26 
                                <%url="http://.../xml_hire.asp"
 set objSrvHTTP =server.createobject("MSXML2.XMLHTTP")
 objSrvHTTP.open "get",url, false
 objSrvHTTP.setRequestHeader "Content-Type", "text/xml"
 objSrvHTTP.send ()
 
 Set objXML = Server.CreateObject("MSXML2.DOMDocument")
 loadResult=objXML.load(objSrvHTTP.responseXML)
 Set fso=Server.CreateObject("Scripting.fileSystemObject")
 Set XmlTxt=fso.CreateTextFile(Server.MapPath("hire.xml"),True)
 
 XmlTxt.WriteLine "<?xml version=""1.0"" encoding=""GB2312""?>"
 XmlTxt.WriteLine "<HouseHireInfo>"
 
 Set objNodes = objXML.getElementsByTagName("HouseHireInfo/HouseItem")
 k = objNodes.length
 For i =0  To k-1
 
 '======== 取出XML节点值 =======
 arrTemp  = objNodes.Item(i).getAttribute("id")            'ID
 arrTemp0 = objNodes.Item(i).childNodes.Item(0).Text        '城区
 arrTemp1 = objNodes.Item(i).childNodes.Item(1).Text      '地址
 arrTemp2 = objNodes.Item(i).childNodes.Item(2).Text       '户型
 arrTemp3 = objNodes.Item(i).childNodes.Item(3).Text        '最小面积
 arrTemp4 = objNodes.Item(i).childNodes.Item(4).Text        '最大面积
 arrTemp5 = objNodes.Item(i).childNodes.Item(5).Text        '最低价
 arrTemp6 = objNodes.Item(i).childNodes.Item(6).Text        '最高价
 arrTemp7 = objNodes.Item(i).childNodes.Item(7).Text        '联系电话
 arrTemp8 = objNodes.Item(i).childNodes.Item(8).Text        '联系人
 arrTemp9 = objNodes.Item(i).childNodes.Item(9).Text        'Email
 arrTemp10= objNodes.Item(i).childNodes.Item(10).Text    '发布日期
 arrTemp11= objNodes.Item(i).childNodes.Item(11).Text    '中介
 arrTemp12= objNodes.Item(i).childNodes.Item(12).Text    '信息代码
 
 '=======  生成XML文档   =======
 XmlTxt.WriteLine "<HouseItem id="""&arrTemp&""">"
 XmlTxt.WriteLine "<AREA>"&arrTemp0&"</AREA>"
 XmlTxt.WriteLine "<ADDRESS>"&arrTemp1&"</ADDRESS>"
 XmlTxt.WriteLine "<HOUSEMODEL>"&arrTemp2&"</HOUSEMODEL>"
 XmlTxt.WriteLine "<MIN_AREA>"&arrTemp3&"</MIN_AREA>"
 XmlTxt.WriteLine "<MAX_AREA>"&arrTemp4&"</MAX_AREA>"
 XmlTxt.WriteLine "<MIN_PRICE>"&arrTemp5&"</MIN_PRICE>"
 XmlTxt.WriteLine "<MAX_PRICE>"&arrTemp6&"</MAX_PRICE>"
 XmlTxt.WriteLine "<TEL>"&arrTemp7&"</TEL>"
 XmlTxt.WriteLine "<CONNECTOR>"&arrTemp8&"</CONNECTOR>"
 XmlTxt.WriteLine "<EMAIL>"&arrTemp9&"</EMAIL>"
 XmlTxt.WriteLine "<SUBDATE>"&arrTemp10&"</SUBDATE>"
 XmlTxt.WriteLine "<AGENCY_ID>"&arrTemp11&"</AGENCY_ID>"
 XmlTxt.WriteLine "<INFOCODE>"&arrTemp12&"</INFOCODE>"
 XmlTxt.WriteLine "</HouseItem>"
 next
 
 XmlTxt.WriteLine "</HouseHireInfo>"
 
 XmlTxt.Close
 
 set XmlTxt=nothing
 set objXML=nothing
 set fso=nothing
 %>
 
 | 
                        
                
                    |  浮尘
 职务:普通成员
 等级:3
 金币:7.0
 发贴:1258
 注册:2001/11/19 12:41:09
 
 | 
                            
                            #42005/7/10 11:21:00 
                                怎么用FSO呀。可以使用添加节点的方法,然后调用Save方法。可惜家里没有实例了。
 | 
                        
                
                    |  { 在指尖上绽放的花朵 }
 职务:普通成员
 等级:5
 金币:14.0
 发贴:3209
 注册:2002/7/25 21:24:11
 
 | 
                            
                            #52005/7/10 21:45:47 
                                FSO就是直接当作文本写入咯。。。
                                
                                
                                
                             | 
                        
                
                    |  绿茶
 职务:普通成员
 等级:8
 金币:10.0
 发贴:19267
 注册:2000/12/28 12:10:01
 
 | 
                            
                            #62005/7/11 11:06:02 
                                '创建DOM对象 set objDom=server.CreateObject("MicroSoft.XMLDom")
 
 '取得xml数据
 '方法1 取得xml文件的xml数据
 objDom.load("c:\test.xml")
 '方法2 取得xml数据串的数据
 objDom.loadxml("<people><man name="sd"/></people>")
 
 '创建一个节点对象
 Set Newnode=objDom.CreateElement("people")
 '给这个节点赴值
 Newnode.Text="人"
 ' 给这个节点添加属性
 Set NewAttribute=objDom.CreateNode("attribute","name","")
 NewAttribute.Text= "张三"
 Newnode.SetAttributeNode NewAttribute
 '给这个节点添加子节点
 Set NewnodeChild=objDom.CreateElement("address")
 Newnode.appendChild NewnodeChild
 '保存这个节点对象
 objDom.appendChild Newnode
 objDom.save("c:\test.xml")
 | 
                        
                
                    |  蓝鲸
 职务:版主
 等级:5
 金币:42.1
 发贴:2614
 注册:2001/12/20 15:57:57
 
 | 
                            
                            #72005/7/11 16:17:12 
                                用DOM方法好,FSO太累了。DOM有插入,删除等,使用方法,学习一下XML的DOM
                                
                                
                                
                             非常大鱼 | 
                        
                
                    |  浮尘
 职务:普通成员
 等级:3
 金币:7.0
 发贴:1258
 注册:2001/11/19 12:41:09
 
 | 
                            
                            #82005/7/12 10:01:29 
                                而且,FSO可能不被支持,DOM不用担心这一点。    |