以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  ASP+XML  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=8104)


--  作者:yuewei
--  发布时间:6/4/2004 10:48:00 AM

--  ASP+XML
我在用ASP编写关系数据库向XML转换的程序,其中用到XMLDOM
可运行的时候总有错误
是不是要用到XMl解析器啊
用什么解析器啊
谢谢!
--  作者:孤独
--  发布时间:6/4/2004 8:35:00 PM

--  
set xml = Server.CreateObject("Microsoft.XMLDOM")
--  作者:yuewei
--  发布时间:6/5/2004 8:36:00 AM

--  
谢谢你的回答
但是我用过那个了
我现在把完整的程序写出来
请您给我看看,谢谢!
在Microsoft SQL Server数据库CLINETS中创建了一个数据表--clientList,其数据结构如下表所示:
字段名     释意    类型           是否为空
Name      姓名    varchar(10) NOT NULL
ID           ID           int         NOT NULL
Company 公司 varchar(20)     NOT NULL
Email      EMAIL varchar(20)    NOT NULL

假设现在数据库中已经存了如下记录:

Name ID Company Email
张三 1 A公司 zhang@aaa.com
李四 2 B公司 li@bbb.org

<% @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)
%>
数据源名称(此处定为clientList)、用户名(sa)、用户口令(空),代码将通过调用XML DOM动态生成XML结构,然后借助ADO访问数据库动态填充XML内容。
运行该ASP,将生成下面的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>
    </联系人>
</联系人列表>


可我的运行结果总有错误
请赐教


--  作者:孤独
--  发布时间:6/5/2004 7:32:00 PM

--  
........那告诉你个不用Dom的方法...
直接Response.write,这样感觉还快..
--  作者:yuewei
--  发布时间:6/7/2004 8:06:00 AM

--  
能说具体点吗
我有点不清楚
谢谢!
--  作者:yuewei
--  发布时间:6/7/2004 9:04:00 AM

--  

上面出现的错误是:
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。


--------------------------------------------------------------------------------

应有一个字符串文字, 但找不到左引号。第 3 行,位置: 23

<font face="宋体" size=2>
我想问出现这种问题的原因,谢谢!


--  作者:孤独
--  发布时间:6/7/2004 8:16:00 PM

--  
<% @language = "VBScript" %>
<% Response.ContentType = "text/xml" %>
把这句改成
<% @language = "VBScript" %>
,然后运行,asp会告诉你哪里出错的
--  作者:yuewei
--  发布时间:6/10/2004 10:24:00 AM

--  
运行的时候还是那个错啊

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
93.750ms