青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

使用JavaScript訪問(wèn)XML數(shù)據(jù)

在網(wǎng)絡(luò)瀏覽器軟件中,可以Internet Explorer (IE)現(xiàn)在是一種標(biāo)準(zhǔn)的軟件。可以看到,運(yùn)行不同版本的Windows操作系統(tǒng)(和很多其他的操作系統(tǒng))的每一臺(tái)機(jī)器幾乎都使用IE。微軟已經(jīng)通過(guò)ActiveX控件將IE的功能包含在執(zhí)行成熟的XML處理技術(shù)中。

在本篇文章中,我們將講述如何在IE中使用ActiveX功能來(lái)訪問(wèn)并解析XML文檔,由此允許網(wǎng)絡(luò)沖浪者操縱它們。

網(wǎng)上沖浪
我們以一個(gè)標(biāo)準(zhǔn)的順序文檔而開(kāi)始,如表A所示。這一文檔包含簡(jiǎn)單的順序數(shù)據(jù)以提供網(wǎng)絡(luò)沖浪者瀏覽之用。不僅僅為了顯示這些數(shù)據(jù),我們還提供了一個(gè)簡(jiǎn)單的用戶界面,網(wǎng)上沖浪都可以使用這一界面來(lái)瀏覽XML文檔。

表A: order.xml
<?xml version="1.0" ?>
<Order>
  <Account>9900234</Account>
  <Item id="1">
    <SKU>1234</SKU>
    <PricePer>5.95</PricePer>
    <Quantity>100</Quantity>
    <Subtotal>595.00</Subtotal>
    <Description>Super Widget Clamp</Description>
  </Item>
  <Item id="2">
    <SKU>6234</SKU>
    <PricePer>22.00</PricePer>
    <Quantity>10</Quantity>
    <Subtotal>220.00</Subtotal>
    <Description>Mighty Foobar Flange</Description>
  </Item>
  <Item id="3">
    <SKU>9982</SKU>
    <PricePer>2.50</PricePer>
    <Quantity>1000</Quantity>
    <Subtotal>2500.00</Subtotal>
    <Description>Deluxe Doohickie</Description>
  </Item>
  <Item id="4">
    <SKU>3256</SKU>
    <PricePer>389.00</PricePer>
    <Quantity>1</Quantity>
    <Subtotal>389.00</Subtotal>
    <Description>Muckalucket Bucket</Description>
  </Item>
  <NumberItems>1111</NumberItems>
  <Total>3704.00</Total>
  <OrderDate>07/07/2002</OrderDate>
  <OrderNumber>8876</OrderNumber>
</Order>

我們使用一個(gè)網(wǎng)絡(luò)表單以訪問(wèn)這一XML文檔,這一表單將顯示SKU,價(jià)格,數(shù)量,各部分的小計(jì),以及順序中的每一選項(xiàng)的描述。我們的表單還包含向前和向后瀏覽選項(xiàng)的按鈕。

網(wǎng)頁(yè)的構(gòu)成
網(wǎng)頁(yè)的重要部分是在于表單,我們將使用一個(gè)表以易讀的方式在屏幕上顯示。下面是顯示HTML表的代碼片段:

<form>
  <table border="0">
    <tr><td>SKU</td><td><input type="text" name="SKU"></td></tr>
    <tr><td>Price</td><td><input type="text" name="Price"></td></tr>
    <tr><td>Quantity</td><td><input type="text" name="Quantity"></td></tr>
    <tr><td>Total</td><td><input type="text" name="Total"></td></tr>
    <tr><td>Description</td><td><input type="text"
 name="Description"></td></tr>
  </table>
<input type="button" value="  <<  " onClick="getDataPrev();">
<input type="button" value="  >>  " onClick="getDataNext();">
  </form>

請(qǐng)注意到,我們?cè)诒淼南旅姘藘蓚€(gè)按鈕,即通過(guò)getDataNext() 和getDataPrev()函數(shù)來(lái)瀏覽前一個(gè)和后一個(gè)的記錄,這也是我們所要討論的問(wèn)題。

腳本
其實(shí),我們網(wǎng)頁(yè)的實(shí)質(zhì)部分不是在于表單,而是在于控制表單的腳本。在我們的腳本中包括四個(gè)部分。首先,我們通過(guò)載入XML文檔而初始化網(wǎng)頁(yè)。第二部分是導(dǎo)航到下一個(gè)記錄。第三步是導(dǎo)航到前一個(gè)記錄。第四部分是從XML文檔中提取單一的值。表B顯示了我們的網(wǎng)頁(yè)的全部?jī)?nèi)容。

表B: jsxml.html

<html>
  <head>
    <script language="JavaScript">
<!--
    vari = -1;
    varorderDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
    orderDoc.load("order.xml");
    var items = orderDoc.selectNodes("/Order/Item");
       
    function getNode(doc, xpath) {
      varretval = "";
      var value = doc.selectSingleNode(xpath);
      if (value) retval = value.text;
      return retval;
    }
   
    function getDataNext() {
      i++;
      if (i > items.length - 1) i = 0;

      document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" + i + "]/SKU");
      document.forms[0].Price.value = getNode(orderDoc, "/Order/Item[" + i + "]/PricePer");
      document.forms[0].Quantity.value = getNode(orderDoc, "/Order/Item[" + i + "]/Quantity");
      document.forms[0].Total.value = getNode(orderDoc,"/Order/Item[" + i + "]/Subtotal");
      document.forms[0].Description.value = getNode(orderDoc, "/Order/Item[" + i + "]/Description");
    }
   
    function getDataPrev() {
      i--;
      if (i < 0) i = items.length - 1;
     
      document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" + i + "]/SKU");
      document.forms[0].Price.value = getNode(orderDoc,"/Order/Item[" + i + "]/PricePer");
      document.forms[0].Quantity.value = getNode(orderDoc, "/Order/Item[" + i + "]/Quantity");
      document.forms[0].Total.value = getNode(orderDoc,"/Order/Item["+ i + "]/Subtotal");
      document.forms[0].Description.value = getNode(orderDoc, "/Order/Item[" + i + "]/Description");
    }
   
// -->
    </script>
  </head>
  <body onload="getDataNext()">
  <h2>XML Order Database</h2>
  <form>
  <table border="0">
    <tr><td>SKU</td><td><input type="text" name="SKU"></td></tr>
    <tr><td>Price</td><td><input type="text" name="Price"></td></tr>
    <tr><td>Quantity</td><td><input type="text"
 name="Quantity"></td></tr>
    <tr><td>Total</td><td><input type="text" name="Total"></td></tr>
    <tr><td>Description</td><td><input type="text"
 name="Description"></td></tr>
  </table>
<input type="button" value="  <<  " onClick="getDataPrev();">  <input type="button" value="  >>  " onClick="getDataNext();">
  </form> 
  </body>
</html>

運(yùn)行
這一網(wǎng)頁(yè)將傳入并運(yùn)行腳本的初始化。你一定確保order.xml文檔與jsxml.html在相同的相同的路徑上。

初始化部分將一個(gè)新的ActiveX對(duì)象例示為MSXML2.DOMDocument.3.0對(duì)象類型,然后腳本傳入order.xml文檔到內(nèi)存中,并選擇所有的/Order/Item節(jié)點(diǎn)。我們使用/Order/Item節(jié)點(diǎn)以識(shí)別文檔已經(jīng)包含的選項(xiàng)。

文檔中的<body>標(biāo)準(zhǔn)有一個(gè)onLoad屬性,這一屬性能夠使得網(wǎng)頁(yè)調(diào)用getDataNext()而初始化。這一功能可用于從XML文檔中獲得下一個(gè)值并顯示在表單中。我們使用一個(gè)簡(jiǎn)單的索引來(lái)訪問(wèn)特定的選項(xiàng)。

向前(>>)和向后(<<)按鈕都使用相同的機(jī)制。首先響應(yīng)onClick事件而調(diào)用getDataNext() 或者getDataPrev(),這兩個(gè)函數(shù)使用了邏輯方法以避免文檔以外的范圍訪問(wèn)我們的記錄。

posted on 2010-10-20 11:28 wrh 閱讀(200) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


導(dǎo)航

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

統(tǒng)計(jì)

常用鏈接

留言簿(19)

隨筆檔案

文章檔案

收藏夾

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美中文在线免费| 国产精品免费aⅴ片在线观看| 久久一区二区精品| 久久国产精品久久w女人spa| 性色av一区二区怡红| 在线视频你懂得一区| 亚洲午夜伦理| 欧美一级二区| 欧美电影电视剧在线观看| 欧美高清影院| 亚洲私人影院在线观看| 亚洲欧美日韩久久精品| 欧美一区成人| 欧美成人精品在线视频| 欧美精品首页| 伊人久久亚洲影院| 久久久中精品2020中文| 麻豆精品国产91久久久久久| 免费欧美网站| 欧美日韩免费高清| 国产毛片久久| 美女主播精品视频一二三四| 美女脱光内衣内裤视频久久影院| 久久久久久亚洲精品不卡4k岛国| 久久婷婷国产麻豆91天堂| 久久高清福利视频| 一本色道久久综合亚洲二区三区| 欧美激情区在线播放| 香蕉精品999视频一区二区| 亚洲福利视频三区| 国产日产精品一区二区三区四区的观看方式| 国产精品a久久久久| 国产精品永久免费在线| 国产亚洲精品激情久久| 狠狠色丁香婷综合久久| 91久久精品美女| 亚洲一二三区视频在线观看| 欧美一区2区视频在线观看 | 国产欧美精品日韩精品| 国产一区二区电影在线观看| 一区二区视频免费完整版观看| 亚洲国内高清视频| 亚洲在线观看视频| 看片网站欧美日韩| 91久久精品日日躁夜夜躁欧美| 亚洲人成77777在线观看网| 亚洲一区区二区| 麻豆精品一区二区综合av| 欧美日韩成人激情| 国产一区导航| 99国内精品| 久久久999精品视频| 最新日韩在线视频| 性欧美1819性猛交| 欧美视频免费在线观看| 在线观看成人一级片| 亚洲免费视频成人| 亚洲高清在线精品| 性欧美暴力猛交另类hd| 欧美日韩亚洲国产精品| 激情综合在线| 欧美伊人久久久久久午夜久久久久 | 国产精品成人免费精品自在线观看| 国产亚洲精品资源在线26u| 日韩视频在线观看免费| 裸体歌舞表演一区二区| 久久综合网hezyo| 国产精品视频免费观看| 91久久精品视频| 亚洲午夜女主播在线直播| 午夜日韩在线| 麻豆成人av| 欧美在线免费视屏| 欧美高清在线播放| 亚洲一区精品在线| 免费久久99精品国产自在现线| 欧美日韩视频专区在线播放| 国产精品五月天| 日韩视频永久免费| 久久se精品一区精品二区| 久久免费视频网| 亚洲美女视频在线观看| 亚洲欧美日本国产专区一区| 久久综合伊人77777蜜臀| 国产精品99免费看 | 欧美77777| 国产一区二区三区成人欧美日韩在线观看 | 在线观看日韩av| 美女精品网站| 久久这里有精品视频| 狠狠色噜噜狠狠狠狠色吗综合| 久久精品国产亚洲aⅴ| 亚洲欧美在线高清| 国产一区二区精品久久| 久久久久久久久久久久久9999| 亚洲欧美日韩中文视频| 国产无一区二区| 久久一区二区精品| 美女主播视频一区| 在线亚洲精品福利网址导航| 日韩小视频在线观看专区| 欧美小视频在线| 久久精品日韩| 蜜桃伊人久久| 亚洲社区在线观看| 亚洲综合精品| 亚洲福利在线看| 亚洲日韩第九十九页| 国产精品theporn| 久久国产色av| 老司机67194精品线观看| 亚洲国产欧美久久| 亚洲毛片av在线| 国产精品一级久久久| 欧美另类亚洲| 久久网站免费| 亚洲视频在线观看三级| 小嫩嫩精品导航| 欧美日韩一二三区| 日韩一区二区久久| 亚洲级视频在线观看免费1级| 午夜亚洲一区| 亚洲欧美日韩国产一区二区| 亚洲一区二区三区在线观看视频| 亚洲第一在线| 欧美四级电影网站| 99热这里只有精品8| 另类尿喷潮videofree| 精品福利电影| 欧美理论在线| 亚洲综合99| 亚洲精品欧美日韩专区| 亚洲尤物视频网| 亚洲一区二区视频在线| 亚洲激情女人| 亚洲高清视频在线观看| 国产精品久久久久影院亚瑟| 香蕉亚洲视频| 欧美韩国在线| 亚洲午夜在线视频| 欧美国产日本| 中文在线一区| 妖精成人www高清在线观看| 欧美黄污视频| 久久亚洲午夜电影| 久久久久国产精品一区| 午夜综合激情| 伊人狠狠色j香婷婷综合| 亚洲电影观看| 夜夜爽99久久国产综合精品女不卡 | 亚洲精品国精品久久99热| 亚洲自啪免费| 日韩午夜av在线| 欧美黄色一区二区| 韩国av一区二区三区在线观看| 亚洲摸下面视频| 欧美在线观看日本一区| 欧美性猛交xxxx乱大交蜜桃| 激情久久久久久久| 欧美一区二区三区日韩| 午夜亚洲伦理| 亚洲欧美日韩在线一区| 欧美特黄一区| 国产精品久久久久久久久搜平片| 国内精品久久久久影院色| 国产亚洲精品久久久久久| 亚洲视频专区在线| 欧美一区二区高清在线观看| 免费观看在线综合| 欧美专区日韩视频| 亚洲欧美日韩中文播放| 欧美日韩在线亚洲一区蜜芽| 国产精品成人午夜| 亚洲电影av在线| 亚洲午夜女主播在线直播| 亚洲一区二区精品视频| 亚洲伦理在线免费看| 欧美特黄一级| 午夜精品三级视频福利| 亚洲高清一区二| 老司机精品福利视频| 国产精品一区一区| 一区二区高清在线观看| 亚洲高清在线观看| 亚洲一卡久久| 欧美日韩亚洲一区二区三区在线| 在线观看亚洲精品| 欧美在线观看天堂一区二区三区| 99精品热视频| 欧美三级精品| 日韩一区二区免费看| 欧美成人黑人xx视频免费观看| 亚洲人成在线播放网站岛国| 久久成人国产精品| 91久久精品日日躁夜夜躁国产| 日韩亚洲精品在线| 你懂的视频一区二区| 亚洲激情在线| 欧美成人免费在线视频| 久久精视频免费在线久久完整在线看|