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

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

在 HTML中顯示XML數據的策略

 

XML 的全名是 eXtenxible Markup Language (可以延伸或擴展的標記語言),它的語法類似 HTML ,都是用標簽來描述數據。 HTML 的標簽是固定的,我們只能使用、不能修改; XML 則不同,它沒有預先定義好的標簽可以使用,而是依據設計上的需要,自行定義標簽。所以在電子商務的網絡時代,用 XML 來組織數據,再用 HTML 頁面來顯示,將是設計網頁的新方向。

  本文主要對兩種在 HTML 中存貯并顯示 XML 文檔數據的策略(數據綁定、 DOM )進行探討。

一、 數據綁定( Data Binding )技術

  數據綁定技術適用于結構規(guī)則的 XML 文檔,它對 XML 文檔的數據用類似于關系數據庫的技術進行處理。

  例如,有一個關于產品目錄的 XML 文檔( product.xml )結構如下:

   ……

    <CATALOGUE>

     <PRODUCT InStock=”yes”>

      <PRODUCTID>00001</PRODUCTID>

      <PRODUCTNAME Supplier=”fuller”>

          football </PRODUCTNAME>

      <PRICE> 50</PRICE>

    ……

     </PRODUCT>

    ……

    </CATALOGUE>

  按下面介紹的兩個步驟,可將 XML 文檔和 HTML 文檔綁定,并在 IE5 中顯示 XML 文檔的數據。

  1. 把一個 XML 文檔連接到一個 HTML 文檔中

  方法一:將整個 XML 文檔插入至 HTML 文檔中,其形式如下:

      <HTML>

      <HEAD>

       <TITLE> product decription</TITLE>

      </HEAD>

      <BODY>

       <XML ID=”product”>

       <?XML version=”1.0”?>

      …… ‘ 將以上的 product.xml 文檔的內容插入至該處

       </XML>

      ……

      <BOLY>

      </HTML>

   方法二:只將一個對 XML 文檔的引用插入至 HTML 文檔中,其形式如下:

      <HTML>

      <HEAD>

       <TITLE> product decription</TITLE>

      </HEAD>

      <BODY>

       <XML ID=”product” SRC=”product.xml”> </XML> ‘ src 指出引用的 XML 文檔源

       ……

      </BODY>

      </HTML>

   方法二的好處在于:它將 XML 文檔的數據和 HTML 的顯示格式分開,便于用戶進行維護。而且,多個 HTML 文檔可以共享一個 XML 文檔。

  當 IE5 打開一個 HTML 文檔時,其內置的 XML 處理器會讀取和分析頁面中已連接的 XML 文檔,然后產生一個數據源對象( DSO ,全稱是 Data Source Object ),以便存貯和讀取數據。 DSO 在存貯 XML 文檔中的數據時,會將元素解釋成記錄和字段的集合,并自動抽取 XML 元素的數據和處理所有的顯示細節(jié)。

  2 .將標準的 HTML 元素(例如 TABLE 、 SPAN 等)和 XML 元素綁定

  方法一:表數據綁定,即將 HTML TABLE 元素和 XML 數據綁定,以便在 IE5 中用表格的形式一次性地顯示整個 XML 文檔的數據。

  其形式如下:

     ……

     <TABLE DATASRC=”#PRODUCT” BORDER=”1” ……>

      <THEAD>

       <TH> productid</TH>

       ……

      </TH>

     </THEAD> ‘ 顯示表格的標題

     <TR ALIGN=”center”>

      <TD><SPAN DATAFLD=”productid”></SPAN></TD> ‘ 在表格單元格中顯示 productid 的內容

      ……

     </TR>

    </TABLE>

     ……

  方法二:單一記錄數據綁定,即將 HTML 元素(如 SPAN BUTTON LABEL 等非表格元素)和 XML 文檔中的一個單一的字段進行綁定,以便在 IE5 中一次只顯示一條記錄的內容。此時,為了瀏覽方便,最好在頁面中增加關于記錄的導航按鈕。

  其形式如下:

   ……

   <SPAN STYLE=”font-style:italic”> ProductID</SPAN> ‘ 顯示標題

  <SPAN DATASRC=”#product” DATAFLD=”productid”

     STYLE=”font-weight:bold”></SPAN> ‘ 顯示 productid 的內容

  ……

  <BUTTON ONLICK=”product.recordset.moveprevious();

            if (product.recordset.bof)

            product.recordset.movenext()”>

            &lt;back;

  </BUTTON> ‘ 產生一個向前導航的按鈕

  ……

  注意:當用數據綁定技術顯示 XML 文檔數據時,如果 XML 元素中有參數,則 DSO 會將該元素處理成層次型的記錄。例如: product.xml 文檔中的“ PRODUCTNAME ”元素有一個“ Supplier ”參數,則 DSO 會將該元素處理成下面的形式:

  <PRODUCTNAME>

   <Supplier> fuller</Supplier>

   <$TEXT>football</$TEXT>

  </PRODUCTNAME>

  此時,必須用 $TEXT 作為字段名來讀取“ football ”數據,其形式如下:

  ……

    <TABLE DATASRC=”#product” DATAFLD=”productname”>

    <TR>

      <TD><SPAN DATAFLD=”$TEXT”></SPAN></TD>

      <TD><SPAN DATAFLD=”Supplier”></SPAN></TD>

    </TR>

    <TABLE>

  ……

二、 DOM 技術

  1 DOM 技術的特點

  DOM XML Document Object Model 的簡稱。它是 XML 文檔和 HTML 文檔的接口,其中包含一系列代表 XML 文檔不同部件的程序對象。利用這些對象的屬性和方法,并使用腳本語言(如 VBScript JavaScript 等)編制成腳本后,就可以在一個 HTML 頁面中顯示 XML 文檔的數據。雖然利用 DOM 技術比數據綁定技術復雜,但它可以處理及顯示結構規(guī)則或不規(guī)則的 XML 文檔中任意部件(如元素、參數、處理指示、注釋、實體和標記等)的數據內容,

  和數據綁定技術類似,要使用 DOM 技術,必須首先對 XML 文檔源進行引用:

  <XML ID=”product” SRC=”product.xml”></XML> ‘ XML 文檔源的引用

  接著,就可以利用 DSO XMLDocument 成員使用 DOM

  Document=product.XMLDocument

  作為 W3C 的標準接口規(guī)范,目前, DOM 由三部分組成,包括:核心( core )、 HTML XML 。核心部分是結構化文檔比較底層對象的集合,這一部分所定義的對象已經完全可以表達出任何 HTML XML 文檔中的數據。 HTML 接口和 XML 接口兩部分則是專為操作具體的 HTML 文檔和 XML 文檔而提供的高級接口,它們可以使得對這兩類文件的操作更加方便。

  當 DOM XML 文檔進行分析之后,不管這個文檔有多簡單或者多復雜,其中的信息都會被轉化成一棵對象節(jié)點樹(如圖 1 )。在這棵節(jié)點樹中,有一個名為 Document 根節(jié)點,所有其他的節(jié)點都是根節(jié)點的后代節(jié)點。 DOM 實際上是利用對象來把文檔模型化,這些模型不僅描述了文檔的結構,還定義了模型中對象的行為。換句話說,圖 1 中的節(jié)點不是數據結構,而是對象。 DOM 接口利用對象中包含的方法和屬性,就可以訪問、修改、添加、刪除、創(chuàng)建樹中的節(jié)點和內容。

  在 DOM 接口規(guī)范中,有四個基本的接口: Document Node , NodeList 以及 NamedNodeMap 。其中, Document 接口是對文檔進行操作的入口。它是從 Node 接口繼承過來的。 Node 接口是其他大多數接口的父類,象 Documet Element , Attribute , Text , Comment 等接口都是從 Node 接口繼承過來的。 NodeList 接口是一個節(jié)點的集合,它包含了某個節(jié)點中的所有子節(jié)點。 NamedNodeMap 接口也是一個節(jié)點的集合,通過該接口,可以建立節(jié)點名和節(jié)點之間的一一映射關系,從而利用節(jié)點名就可以直接訪問特定的節(jié)點。

clip_image001

1

  2 .利用 DOM XML 文檔的數據進行處理

 ?。?span lang=EN-US>1) 對 XML 某個元素的數據進行處理

  其形式如下:

  productid.innerText=DocumentElement.childNodes(0).text; ‘ 取得 productid 的數據,并將它賦給 HTML SPAN 元素的 innerText 屬性

  <SPAN ID=”productid” STYLE=”font-weight:bold”></SPAN> ‘ 顯示 productid 的數據

 ?。?span lang=EN-US>2) 對 XML 文檔中同名元素的所有數據進行處理

  其形式如下:

  Nodelist=Document.getElementsByTagName(“productname”); ‘ 取得所有 productname 的數據,并形成一個 Nodelist 集合

  For(i=0;i<Nodelist.length;++i)

  ResultHTML+=Nodelist(i).xml+”\n\n”;

  ResultDiv.innerText=ResultHTML; ‘ 用循環(huán)語句顯示所有 productname 的數據

  (3) 對 XML 元素的參數數據進行處理

  其形式如下:

  NamedNodeMap=Document.DocumentElement.childNodes(0).attributes; ‘ 取得所有 product 的參數,并形成一個 NamedNodeMap 集合

  For(i=0;i<NamedNodeMap.length;++i)

  Alert(NamedNodeMap.getNameItem(i).nodeValue); ‘ 用循環(huán)語句顯示所有 product 參數的數據

  如果在參數中包含有實體,則應采用下列形式對 XML 的實體和實體中的標記進行訪問:

  Attribute=Document.DocumentElement.childNodes(0).attributes(0); ‘ 取得 product 元素的參數

  If(attribute.datatype==”entity”) ‘ 檢測參數的類型是否為 entity 類型

  Entity=Document.doctype.entities.getNameItem(attribute.nodeValue); ‘ 取得 XML 文檔的 DTD 聲明中的某個實體的名字

  DisplayText=Entity.attributes.getNameItem(“SYSTEM”).nodeValue; ‘ 取得該實體中 system 的源文件數據

  NotationName=Entity.attributes.getNameItem(“NDATA”).nodeValue; ‘ 取得該實體中 NDATA 標記的名字

三、結束語

  目前,有三種途經可以在 IE5 中顯示 XML 文檔的數據:樣式單、數據綁定及 DOM 。樣式單的特點是單獨設計一個用于處理顯示格式的樣式單( CSS 樣式單或 XSL 樣式單),然后在 XML 文檔中對樣式單進行引用;而后面兩種技術的特點是利用 HTML 文檔對 XML 存貯的數據進行顯示,這樣,可以將 XML HTML 相結合,充分利用 XML HTML 各自的優(yōu)點。

  參考書目:

 ?。?span lang=EN-US>1 Natanya Pirts . XML 輕松進階 . 電子工業(yè)出版社 . 2000 年月 1

  (2 Jake Sturm . XML 解決方案 . 北京大學出版社 . 2001 4

 

posted on 2009-07-27 13:10 肥仔 閱讀(515) 評論(0)  編輯 收藏 引用 所屬分類: Web-前臺

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            午夜在线视频观看日韩17c| 欧美日韩国产区一| 亚洲福利专区| 久久精品视频在线观看| 欧美一区成人| 欧美一区二区三区免费在线看 | 国产伦精品一区二区三区在线观看 | 亚洲一区免费| 亚洲欧美99| 亚洲一区二区三区在线看| 亚洲综合99| 久久国产精品高清| 美国十次成人| 欧美丰满高潮xxxx喷水动漫| 久久综合影视| 欧美日韩精品系列| 国产欧美日韩另类视频免费观看| 国产午夜精品一区二区三区视频| 在线欧美福利| 亚洲午夜三级在线| 久久精品一区二区三区不卡牛牛 | 在线视频亚洲| 久久久久久尹人网香蕉| 欧美激情一区二区三区| 国产精品久久久久毛片大屁完整版| 国产欧美视频在线观看| 韩日欧美一区二区三区| 亚洲美女毛片| 欧美专区中文字幕| 亚洲国产欧美一区二区三区同亚洲 | 亚洲韩日在线| 亚洲新中文字幕| 夜夜嗨av色综合久久久综合网| 亚洲专区一区| 久久蜜桃香蕉精品一区二区三区| 欧美v国产在线一区二区三区| 国产精品久久久免费| 国产亚洲欧美在线| 激情综合久久| 亚洲美女av黄| 久久久国产91| 亚洲高清在线视频| 亚洲一区二区三区四区在线观看| 亚洲精品美女91| 亚洲免费观看| 午夜一区二区三区不卡视频| 久久久久国色av免费观看性色| 美女诱惑一区| 国产精品丝袜久久久久久app| 精品999在线播放| 亚洲天堂男人| 久久五月激情| 99热免费精品| 久久久久久久999精品视频| 欧美精品一区二区精品网| 国产精品日韩在线一区| 亚洲黄色高清| 久久久精品日韩| 亚洲精品女av网站| 亚洲图片自拍偷拍| 欧美成人亚洲成人日韩成人| 国产精品综合久久久| 亚洲毛片网站| 亚洲视频免费| 日韩亚洲综合在线| 久久久亚洲国产天美传媒修理工 | 亚洲一区二区成人在线观看| 久久午夜电影| 国产一区二区三区日韩欧美| 亚洲午夜极品| 亚洲精品免费观看| 欧美电影免费| 亚洲国产小视频在线观看| 久久久久久亚洲综合影院红桃| 中文亚洲视频在线| 一区二区三区国产精品| 欧美精品一级| 日韩一二三在线视频播| 亚洲成人直播| 久久成人国产精品| 国产精品美女久久久浪潮软件 | 日韩视频在线你懂得| 免费一级欧美在线大片| 在线看日韩av| 欧美成人精品福利| 老司机精品久久| 亚洲国产一区在线| 欧美韩日高清| 欧美高清视频| 欧美日韩国产麻豆| 狠狠色伊人亚洲综合成人| 欧美福利网址| 欧美不卡在线| 欧美一区二区视频在线观看2020 | 亚洲在线免费| 亚洲图片欧美日产| 国产亚洲日本欧美韩国| 久久天天躁狠狠躁夜夜爽蜜月| 久久久久久9| 国产午夜亚洲精品不卡| 久久精品欧洲| 老司机精品视频一区二区三区| 亚洲国产免费看| 亚洲美女在线视频| 国产日韩欧美成人| 欧美在线视频日韩| 久久久久久网| 日韩午夜激情| 午夜精品视频网站| 国产精品网站在线播放| 亚洲精选一区| 国产又爽又黄的激情精品视频| 美女网站久久| 欧美体内谢she精2性欧美| 欧美主播一区二区三区美女 久久精品人| 久久精品国产久精国产一老狼| 亚洲人成亚洲人成在线观看| 一本一本a久久| 黄色工厂这里只有精品| 亚洲欧洲偷拍精品| 国产精品中文在线| 欧美福利视频在线观看| 欧美午夜精品理论片a级大开眼界| 亚洲免费在线看| 久久人人爽人人爽爽久久| 亚洲人成艺术| 亚洲欧美国产高清| 日韩视频在线观看国产| 校园春色综合网| 99精品视频网| 欧美在线影院在线视频| 中文欧美日韩| 玖玖玖国产精品| 欧美一级播放| 欧美日韩国产小视频| 久久香蕉精品| 国产精品福利网| 欧美日韩亚洲91| 这里是久久伊人| 久久性色av| 老司机久久99久久精品播放免费 | 午夜视频在线观看一区二区| 亚洲欧美日韩中文播放| 亚洲国产日韩一级| 午夜日本精品| 在线免费观看欧美| 欧美福利影院| 国外成人在线| 亚洲欧美国产视频| 亚洲婷婷综合色高清在线| 在线观看av不卡| 欧美日韩久久不卡| 久久成人资源| 午夜一区二区三区不卡视频| 美玉足脚交一区二区三区图片| 在线亚洲美日韩| 亚洲一区二区三区精品在线| 亚洲日本中文字幕| 久久本道综合色狠狠五月| 欧美午夜不卡视频| 在线一区二区视频| 久久婷婷成人综合色| 欧美专区在线播放| 国产精品久久久久久久午夜 | 老司机aⅴ在线精品导航| 国产久一道中文一区| 欧美激情一区| 久久在线精品| 欧美综合第一页| 国产视频在线观看一区二区三区 | 国产精品一区三区| 亚洲欧美中文另类| 久久精品国产2020观看福利| 国产一区二区精品久久| 久久久999精品免费| 六月丁香综合| 欧美成人精品不卡视频在线观看| 亚洲电影天堂av| 日韩午夜av电影| 国产精品实拍| 日韩视频不卡中文| 欧美久久电影| 亚洲无毛电影| 久久久精品国产免费观看同学| 在线精品亚洲| 欧美视频观看一区| 亚洲欧美视频在线观看视频| 一本色道久久加勒比88综合| 国产精品家庭影院| 亚洲一区二区三区欧美| 老牛嫩草一区二区三区日本| 最近中文字幕mv在线一区二区三区四区| 99国产精品自拍| 国产亚洲二区| 免费中文字幕日韩欧美| 亚洲小说欧美另类婷婷| 欧美风情在线观看| 午夜视频在线观看一区| 亚洲国产精品久久久久婷婷884| 欧美视频在线观看免费|