首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 网络编程 → XML专区 → 文章内容

XML简明教程第10课 :在C++ XML DSO中使用主/细节特征

作者:无从考证  来源:中国站长学院  发布时间:2007-2-6 16:44:15
什么是主/细节特征?
新的主/细节特征允许你连接到一个分层纪录集的当前记录上,这就意味着你可以把当前
纪录的子元素连接到一个截然不同的表中。例如,考虑一下的XML:
<orders>
  <order order_number="2233">
    <customer>
      <name>John Smith</name>
      <custID>192883</custID>
    </customer>
    <item>
      <name>Fly Swatter</name>
      <price>9.99</price>
    </item>
  </order>
  <order order_number="2234">
    <customer>
      <name>Marea Angela Castaneda</name>
      <custID>827145</custID>
    </customer>
    <item>
      <name>Fly Paper</name>
      <price>15.99</price>
    </item>
  </order>
  <order order_number="2235">
    <customer>
      <name>Amy Jones</name>
      <custID>998022</custID>
    </customer>
    <item>
      <name>Mosquito Netting</name>
      <price>38.99</price>
    </item>
  </order>
</orders>
你可以允许你的用户通过ID来定位订单,并显示(也仅能显示)当前订单上的客户和项
目信息,你的用户并不能查看所有订单的信息——仅能查看自己感兴趣的。
如何连接到细节?
连接到层次结构中的底层(细节信息)的关键是了解你的数据的结构,上面的XML在根元
素<orders>中含有有三个元素。基于XML DSO所采用的试探法,每一个订单都映射到一个
包含"order_number"、 "customer"、 和 "item"等域的行集中。"order_number"列包含
"order_number"属性的值,"customer"和"item"列包含指向各自的"customer"和"item"
纪录集的指针。"customer"记录集中包含带有"name"和"custID"域的元素的值,"item"
记录集中包含带有"name"和"price"域的元素的值。
这样,在顶层("orders")纪录集中,你可以找到"order_number"的值,然后允许你的
用户通过"order_number"定位订单。
<P>ORDER NUMBER: <SPAN DATASRC="#xmlDoc" DATAFLD="order_number"></SPAN></P>
现在再添加几个按钮来帮助用户浏览"orders"纪录集。
<INPUT TYPE=BUTTON value="Previous Order" onclick="xmlDoc.recordset.movePrev
ious()">
<INPUT TYPE=BUTTON value="Next Order" onclick="xmlDoc.recordset.moveNext()">

为了在当前纪录的子元素中检索这个值,创建一张表并把表的 DATASRC 属性设置为"#x
mlDoc",就和上面所作的一样,但是这时也要把它的 DATAFLD 属性设置为 "customer"
。这是为了告诉表连接到"customer"纪录集中的数据上,而"customer"纪录集由"order
s"纪录集中的"customer"域的指针指向。
<TABLE DATASRC="#xmlDoc" DATAFLD="customer" BORDER>
  <THEAD><TH>NAME</TH><TH>ID</TH></THEAD>
  <TR>
    <TD><SPAN DATAFLD="name"></SPAN></TD>
    <TD><SPAN DATAFLD="custID"></SPAN></TD>
  </TR>
</TABLE>
接着对"item"元素作同样的处理。
<TABLE DATASRC="#xmlDoc" DATAFLD="item" BORDER=1>
  <THEAD><TR><TH>ITEM</TH><TH>PRICE</TH></TR></THEAD>
  <TR>
    <TD><SPAN DATAFLD="name"></SPAN></TD>
    <TD><SPAN DATAFLD="price"></SPAN></TD>
  </TR>
</TABLE>
现在,当用户点击按钮并移到纪录集中的后一个或前一个纪录时,表中的数据会相应的
改变到当前纪录。


[] [返回上一页] [打 印]
  • 上一篇文章:XML简明教程第9课:使用C++ XML DSO
  • 下一篇文章:XML与HTML的结合(上)

  • 相关文章:
  • XML简易教程之二
  • XML简易教程之一
  • XML简明教程第10课 :在C++ XML DSO中使用主/细节特...
  • XML简明教程第9课:使用C++ XML DSO
  • XML简明教程第8课:访问经过类型定义的XML值
  • XML简明教程第7课:在XML文档中使用数据类型
  • XML简明教程第6课 使用XML Schema
  • XML简明教程第5课:使用XML名域
  • XML简明教程第4课: 使用XML对象模型
  • XML简明教程第3课 处理XML数据岛
  • XML简明教程第2课: 处理XML文档
  • XML简明教程第1课: 处理XML元素
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号