av网站免费线看精品_国产做a爱视频免费不_深爱激情网开心五月天_伊人五月天在线视频网

 
XML簡明教程第10課 :在C++ XML DSO中使用主/細節(jié)特征
發(fā)布時間:2005-03-18   瀏覽次數(shù):1230599
[ 來源:中國站長學(xué)院 | 作者:無從考證 ]
什么是主/細節(jié)特征?
新的主/細節(jié)特征允許你連接到一個分層紀錄集的當前記錄上,這意味著你可以把當前
紀錄的子元素連接到一個截然不同的表中。例如,考慮一下的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來定位訂單,并顯示(也僅能顯示)當前訂單上的客戶和項
目信息,你的用戶并不能查看所有訂單的信息——僅能查看自己感興趣的。
如何連接到細節(jié)?
連接到層次結(jié)構(gòu)中的底層(細節(jié)信息)的關(guān)鍵是了解你的數(shù)據(jù)的結(jié)構(gòu),上面的XML在根元
素<orders>中含有有三個元素;赬ML 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>
現(xiàn)在再添加幾個按鈕來幫助用戶瀏覽"orders"紀錄集。
<INPUT TYPE=BUTTON value="Previous Order" onclick="xmlDoc.recordset.movePrev
ious()">
<INPUT TYPE=BUTTON value="Next Order" onclick="xmlDoc.recordset.moveNext()">

為了在當前紀錄的子元素中檢索這個值,創(chuàng)建一張表并把表的 DATASRC 屬性設(shè)置為"#x
mlDoc",和上面所作的一樣,但是這時也要把它的 DATAFLD 屬性設(shè)置為 "customer"
。這是為了告訴表連接到"customer"紀錄集中的數(shù)據(jù)上,而"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>
現(xiàn)在,當用戶點擊按鈕并移到紀錄集中的后一個或前一個紀錄時,表中的數(shù)據(jù)會相應(yīng)的
改變到當前紀錄。

來源:http://edu.chinaz.com
立即預(yù)約