天天看点

asp把数据库数据生成xml格式一法

<%

set xmldoc=Server.CreateObject("msxml2.DOMDocument")

set obj=Server.CreateObject("gdcom.database")

set rs=Server.CreateObject("adodb.recordset")

Set fso = CreateObject("Scripting.FileSystemObject")

xmldoc.async=False

xmldoc.ValidateOnParse=False

str="select code,pyt,detail from zdb where kind='92'"

set rs=obj.runsqlreturnrs(str)

Set addfile = fso.CreateTextFile(Server.MapPath(".")&"/20060801.xml", True)

Set root = xmldoc.createNode(1,"book","record")

Set temp = xmldoc.appendChild(root)

set objNodeAttr = xmldoc.CreateAttribute("ajbh")

objNodeAttr.Value = "A2107270006002004080001"

xmldoc.DocumentElement.SetAttributeNode(objNodeAttr)

Set ajlx= xmldoc.createNode("element", "ma", "")

Set temp = root.appendChild(ajlx)

Set ajlb= xmldoc.createNode("element", "la", "")

Set temp = ajlx.appendChild(ajlb)

 If Not rs.EOF Then

    rs.MoveFirst

  While (Not rs.EOF)

    Set onode = xmldoc.createNode("element", "rec", "")   

    Set temp = ajlb.appendChild(onode)

    For i = 0 To rs.Fields.count - 1

      Set child = xmldoc.createNode("element", rs.Fields(i).Name, "")

    If Not IsNull(rs.Fields(i)) Then

        child.Text = rs.Fields(i)

    Else

        child.Text = " "

    End If

      Set temp = onode.appendChild(child)

    Next

    rs.MoveNext

  Wend

 RSToXML = root.xml

 else

  RSToXML = " "

 end if

addfile.WriteLine(RSToXML)

addfile.close

set fso=nothing

Response.write("OK!")

%>