商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

XML与HTML的结合(下)

作者:ITPUB论坛  2008-02-21

【IT168技术文档】

  XML的嵌套处理

  一般情况下,我们从数据库中查询得到的结果集可能很大,所以从服务器返回到客户端时,数据会被分成若干个页面分别进行传递。此时,利用TABLE元素中的DATAPAGESIZE属性可以指定每个页面包含记录集条目的个数。

  例如:
<TABLE DATASRC=“#xmldso” DATAPAGESIZE=10>
   很显然,如果XML数据格式是对称的,则无论是映射到ADO记录集还是绑定到表格元素上,效果都会很好。而在实际应用中,XML数据为非对称的例子也很多,比如一本书的作者可能就不止一位,这在映射和绑定时都会产生一定的麻烦。解决问题的办法就是利用嵌套。每一行表格仍对应一条主元素,每一栏也对应着一个子元素。对于重复元素,则使用嵌套的表格。我们假设在books.xml中,第一本书的作者为Dean Straight,第二本书的作者为Charlotte Cooper、Shelley Burke和Regina Murphy。此时,绑定过程如下:

  ● 创建TABLE元素,并将数据岛ID赋值给DATAFLD属性;

  ● 对于单独的XML元素,如<isbn>,创建TD元素,并设定相应的DATAFLD属性;

  ● 对于重复元素,在TD元素内部嵌套一个表格;

  ● 用单行单列的形式显示作者信息。

  注意这里的DATAFLD属性必须设定为“$TEXT”,

  以保证嵌套元素的内容被全部显示在指定的元素中。

  完整的HTML代码如下所示:
<TABLE BORDER=1 DATASRC=“#xmldso”> <THEAD><TR><TH>Title</TH> <TH>ISBN</TH> <TH>Author</TH></TR></THEAD> <TBODY> <TR><TD> <DIV DATAFLD=“title”></DIV></TD> <TD><DIV DATAFLD=“isbn”> </DIV></TD> <TD> <TABLE BORDER=0 DATASRC=“#xmldso” DATAFLD=“author”> <TR><TD><SPAN DATAFLD=“$Text”></SPAN></TD></TR> </TABLE> </TD> </TR></TBODY> </TABLE>
1 2 3
【内容导航】
第1页: 概述 第2页: 第2页
第3页: 第3页
©版权所有。未经许可,不得转载。
[责任编辑:nancy]
[an error occurred while processing this directive]