熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Web設計中如何使用XML數據

2013-11-13 09:49:25  來源: .NET編程 

  XML數據源對象是一個ActiveX控件允許你在XML文件和HTML頁面之間操作數據本文將向你展示如何從各種XML數據源中提取數據以及如何使用JavaScript顯示這些數據

  XML數據源對象DSO是一個微軟ActiveX控件構建在微軟IE以後的版本上這個對象允許你把一個外部的XML文件或者嵌入HTML文件中的內容提取到HTML頁面中

  你可以在一個Web頁面中使用XML DSO從一個外部XML文件中選取內容從嵌入Web頁面的XML中提取XML數據然後使用JavaScript操作這些數據然而並不建議在Internet中使用這個對象因為DSO只能工作在MSIE 以上的浏覽器中因此這可能會帶來一些兼容性問題 所以在企業內部網使用XMLDSO是很合適的

  開始

  為了初始化XML DSO對象我們使用<OBJECT>標記 用於XMLDSO的CLASSID是

  CLSID:ddadcabecd

  這ID唯一標識XMLDSO使用下面的代碼在一個Web頁面中初始化這個控件

  <OBJECT ID=SomeID CLASSID=CLSID:ddadcabecd></OBJECT>

  雖然大部分對象需要許多參數與之相關聯但是XMLDSO不需要任何參數

  使用一個XML數據島析取數據

  首先通過使用<XML>標記包含一個XML數據島其次給它分配一個IDxmldb 以備以後使用 數據實際上是使用HTML標記<ALT><SPAN><DIV>等等提取的代碼列表中的代碼使用了<SPAN>標記datasrc屬性指定了你想從中提取數據的那個數據島datafld屬性指定了你想要的數據的XML標記所以第一個<SPAN>提取名稱而第二<SPAN>提取性別

  代碼列表

  <!
  <html>
  <head>
  <title>XML </title>
  </head>
  <body bgcolor=#FFFFFF
  <xml id=xmldb
  <db>
  <member>
  <name>Premshree Pillai<name>
  <sex>male</sex>
  </member>
  <member>
  <name>Vinod</name>
  <sex>male</sex>
  </member>
  </db>
  </xml>

  <span datasrc=#xmldb datafld=name<</span>
  <br>
  <span datasrc=#xmldb datafld=sex></span>

  </body>
  </html>

  注意這段代碼沒有初始化一個XMLDSO對象這是因為XML數據島的使用中已經隱式地創建了一個輸出應為
  
  Premshree Pillai
  male

  注意在XML數據島中有兩個<name>和<sex>標記使用這個方法你只能提取這些標記中的第一個實例代碼列表中的代碼使用<TABLE>標記提取所有的實例

  輸出將是:
    Name         Sex
   Premshree Pillai   male
   Vinod         male

  在代碼列表<TABLE>標記使用<TD>標記內的<DIV>標記提取數據表格將自動重復<member>(<name>和<sex>的母標記)的每個實例

  代碼列表

  <!
  <html>
  <head>
  <title>XML </title>
  </head>
  <body bgcolor=#FFFFFF

  <xml id=xmldb
  <db>
  <member>
  <name>Premshree Pillai<name>
  <sex>male</sex>
  </member>
  <member>
  <name>Vinod</name>
  <sex>male</sex>
  </member>
  </db>
  </xml>

  <table datasrc=#xmldb border=
  <thead>
  <th>Name</th>
  <th>Sex</th>
  </thead>
  <tr>
  <td><div datafld=name></div></td>
  <td><div datafld=sex></div></td>
  </tr>
  </table>

  </body>
  </html>

  使用外部XML文件提取數據

  為了使用XMLDSO加載一個外部XML文件你必須顯式的包含這個對象並且使用一些JavaScript

  首先創建一個XMLDSO對象使用ID myXML添加寬度和高度屬性到<OBJECT>標記中然後設置它們的值為這保證XMLDSO對象不會占據你的Web頁面的任何空間

  其次使用datasrc創建一個象myXML一樣的表類似於代碼列表中一樣代碼使用<DIV>標記(在TD標記之)提取數據使用datafld作為第一欄的信息並且使用URL作為第二欄添加<SCRIPT>標記因為在這裡外部的XML使用Java腳本顯式地聲明你想要加載的XML文件

  設置變量xmlDso為myXMLXMLDocumentmyXML引用你已經創建的對象接下來使用XMLDSO的load()方法加載examplexml文件examplexml連接到對象myXML上

  <! examplexml
  <?xml version= ?>
  <ticker>
  <item>
  <message>JavaScript Ticker using XML DSO</message>
 <URL></URL>
  </item>
  </ticker>

  現在研究一下下面的HTML頁面:

  <!
  <html>
  <head>
  <title>XML </title>
  <script language=JavaScript
  function load() {
  var xmlDso=myXMLXMLDocument;
  xmlDsoload(examplexml);
  }
  </script>
  </head>
  <body bgcolor=#FFFFFF onLoad=load()

  <object id=myXML CLASSID=clsid:ddadcabecd
width= height=></object>

  <table datasrc=#myXML border=
  <thead>
  <th>Message</th>
  <th>URL</th>
  </thead>
  <tr>
  <td><div datafld=message></div></td>
  <td><div datafld=URL></div></td>
  </tr>
  </table>

  </body>
  </html>

  輸出應是:

  Message URL
   JavaScript Ticker using XML DSO

  上面的腳本非常特殊化下面給出一個更一般的腳本

  <script language=JavaScript
  var xmlDso;
  function load(xmlFile objName) {
  eval(\\xmlDso=\\+objName+\\XMLDocument\\);
  xmlDsoload(xmlFile);
  }
  </script>
  Now to load any XML file use:
  load(SomeXMLFilexmlanyXmlDsoObject);(csdn)


From:http://tw.wingwit.com/Article/program/net/201311/11673.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.