主题:  急,请教下面的代码如何使用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不用担心这一点。