以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  XML初学进阶学习笔记[原创](续14)[原创]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=9310)


--  作者:卷积内核
--  发布时间:8/12/2004 9:12:00 AM

--  XML初学进阶学习笔记[原创](续14)[原创]
43、对数据库操作ASP和DTD(Schema)的具体实现:

ASP:

<% @language = "VBScript" %>
<% Response.ContentType = "text/xml" %>
<?xml version="1.0" encoding="GB2312" ?>
<%’动态构建XML文档
  set xmlDoc = Server.CreateObject(Microsoft.XMLDOM)
  set root = xmlDoc.createNode("element","联系人列表","")
  xmlDoc.appendChild(root)

  ’查询数据库
  sqlStr = "select * from clientList"
  set cConn = Server.CreateObject("ADODB.Connection")
  cConn.Open "CLIENTS","sa", ""
  set rsData = cConn.Execute(sqlStr)
  rsData.MoveFirst()

  while (not rsData.EOF )
    ’构建联系人子节点
    set tmpNode = xmlDoc.createNode("element","联系人","")
    xmlDoc.documentElement.appendChild(tmpNode)
    ’构建姓名、ID、公司、Email子节点
    for I = 0 to rsData.Fields.Count - 1
      set childNode = xmlDoc.createNode("element",rsData.Fields(i).Name,"")
      childNode.text = rsData.Fields(i)
      tmpNode.appendChild(childNode)
    next
   rsData.MoveNext()
  wend

  Response.Write(xmlDoc.xml)
%>


DTD:

<% Response.ContentType="text/xml" %>
<?xml version="1.0" encoding="GB2312" ?>
<联系人列表>

<% Set cConn = Server.CreateObject("ADODB.Connection")
   cConn.Open "CLIENTS","sa", ""
   Set rsData = cConn.Execute("select * from clientList")
   do while not rsData.Eof
%>
<联系人>
  <姓名><%=rsData("Name")%></姓名>
  <ID><%=rsData("ID")%></ID>
  <公司><%=rsData("Company")%></公司>
  <Email><%=rsData("Email")%></Email>
</联系人>
<% rsData.MoveNext
   Loop
   rsData.Close
   Set rsData = nothing
%>

</联系人列表>


最终生成XML文档为:

<?xml version = "1.0" encoding="GB2312" standalone = "no"?>

<联系人列表>
    <联系人>
        <姓名>张三</姓名>
        <ID>1</ID>
        <公司>A公司</公司>
        <EMAIL>zhang@aaa.com</EMAIL>
    </联系人>

    <联系人>
        <姓名>李四</姓名>
        <ID>2</ID>
        <公司>B公司</公司>
        <EMAIL>li@bbb.org</EMAIL>
    </联系人>
</联系人列表>


--  作者:hqh200023607
--  发布时间:11/10/2005 10:53:00 PM

--  
好想亲自去试一下,可看了这么多,还不知道如何下手?请高手指教:在什么样的环境下进行这样的编程啊?感觉无从下手
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms