|
主题: 急,请教下面的代码如何使用ASP往XML里写入数据!
|
嘎嘎
职务:普通成员
等级:1
金币:1.0
发贴:287
|
#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
|
#22005/7/9 14:21:11
XML DOM 或者直接当文本文件用FSO写
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#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
|
#42005/7/10 11:21:00
怎么用FSO呀。 可以使用添加节点的方法,然后调用Save方法。可惜家里没有实例了。
|
{ 在指尖上绽放的花朵 }
职务:普通成员
等级:5
金币:14.0
发贴:3209
|
#52005/7/10 21:45:47
FSO就是直接当作文本写入咯。。。
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#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
|
#72005/7/11 16:17:12
用DOM方法好,FSO太累了。DOM有插入,删除等,使用方法,学习一下XML的DOM
非常大鱼
|
浮尘
职务:普通成员
等级:3
金币:7.0
发贴:1258
|
#82005/7/12 10:01:29
而且,FSO可能不被支持,DOM不用担心这一点。
|