DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XML簡明教程(四) - asp.net簡介
XML簡明教程(四) - asp.net簡介
編輯:XML詳解     
簡介
    了解XML的基本語法、Schema的語法還遠遠不夠,XML是對數據和數據結構的存儲,而Schema是對XML數據類型的定義。直到這

裡還沒有對XML數據的顯示進行處理。雖然可以通過內置有XML解析器的浏覽器直接對XML數據進行查看,但畢竟看到的只是以樹狀結構

顯示的XML數據。

    如果要把XML數據以漂亮的形式顯示出來就需要XSLT幫忙了。XSLT可以把XML處理成Html形式輸出、WAP形式輸出,甚至也可以

是Word文檔的格式。其中最常用到的還是HTML的格式,下面講解中用到的所有例子都以Html的轉換格式為例子。那就不說廢話了,還

是先看一個XSLT的例子吧!

   這個XSLT用到的一個XML文檔,文檔如下:

  <?XML version = "1.0" encoding="GB2312"?>

  <?XML:stylesheet type="text/xsl" href="s_xlt.xslt"?>

   <resumes>

   <resume>

   <name>張立東</name>

   <sex>男</sex>

   <age>28</age>

   <birthday>

   <year>1974</year>

   <month>8</month>

   <day>10</day>

   </birthday>

   <address>北京市 海澱區</address>

    </resume>

   <resume>

   <name>張三</name>

   <sex>男</sex>

   <age>50</age>

   <birthday>

   <year>1951</year>

   <month>6</month>

    <day>9</day>

   </birthday>

   <address>山西省</address>

   </resume>

   <resume>

   <name>李四</name>

   <sex>男</sex>

    <age>29</age>

   <birthday>

   <year>1973</year>

    <month>7</month>

    <day>12</day>

   </birthday>

    <address>山東省</address>

   </resume>

  </resumes>

   注:在上面的XML文檔中多了下面的一句:

  <?XML:stylesheet type="text/xsl" href="s_xlt.xslt"?>

    這一句就是對XSLT的引用,其中href中的內容是對具體XSLT文檔位置的指定,有關s_xlt.xslt中的內容就是下面要介紹的XSL

T例子的內容。有關如何對XML,XLST、Schema的使用和測試,可以參考“一個應用了XML、schema和xlst的例子”部分。

   對這個XML文檔進行轉換處理的XSLT文檔如下:

  [1]<?XML version="1.0" encoding="GB2312"?>

  [2]<xsl:stylesheet version="1.0" XMLns:xsl="http://www.w3.org/TR/WD-xsl">

  [3] <xsl:template match="/">

  [4] <Html>

  [5] <HEAD>

  [6] <TITLE>個人簡歷</TITLE>

  [7] </HEAD>

  [8] <BODY>

  [9] <xsl:for-each select="/resumes/resume">

  [10] <P>

  [11] <TABLE border="1" >

  [12] <CAPTION style="font-size: 150%; font-weight: bold">

  [13] 個人簡歷

  [14] </CAPTION>

  [15] <TR>

  [16] <TH>姓名</TH><TD><xsl:value-of select="name"/></TD>

  [17] <TH>性別</TH><TD><xsl:value-of select="sex"/></TD>

  [18] <TH>生日</TH><TD><xsl:value-of select="birthday/year"/>年

  <xsl:value-of select="birthday/month"/>月<xsl:value-of select="birthday/day"/>日</TD>

  [19] </TR>

  [20] <TR>

  [21] <TH>地址</TH><TD colspan="5"><xsl:value-of select="address"/></TD>

  [22] </TR>

  [23] </TABLE>

  [24] </xsl:for-each>

  [25] </BODY>

  [26] </Html>

  [27] </xsl:template>

  [28]</xsl:stylesheet>

   [1]XML的序言,從第一條語句可以看出XSLT也是符合XML語法的。

   [2]XSLT的名域。Xsl:stylesheet是XSLT的根元素,xsl是XSLT的名域標識。所以都要在XSLT的語句前面加上xsl:來表明是XSLT

的語句。

   [3] <xsl:template match="/"> 是XSLT語言的匹配模式,主要是和引用它的XML文檔的根進行匹配。其中/是代表XML文檔根的含

義。 例如:個人簡介中的name可以用/resumes/resume/name

的方式進行引用。(由於這裡只是對XSLT入門的一個初步介紹,對有關XML路徑想詳細了解的讀者可以參考XML文檔的XPATH部分。)

   [4]-[8]可以直接輸出,這部分是符合HTML語法的信息結構,Html文檔的開始部分和head的定義。

   [9] <xsl:for-each select="/resumes/resume">是XSLT語言的選擇模式,是循環的對所有的/resumes/resume元素和這個元素所

包含的子元素進行處理。

   [10]-[15] 可以直接輸出,符合Html的語法結構。

   [16] <TH>姓名</TH><TD><xsl:value-of select="name"/></TD>

在這一行中有Html的語句和也有XSLT的語句。其中<xsl:value-of select="name"/>也是屬於選擇模式的語句,可以直接把select選中

的元素內容提取處理,處理以後的結果應該是:<TH>姓名</TH><TD>張立東</TD>。

   [18]-[23]分別是對其他部分信息的顯示處理,其中也包含了部分的Html語句。

   [24] <xsl:for-each> 語句的結束部分。

   [25]-[26]Html語句。

   [27] <xsl:template> 語句的結束部分。也就是對整個XML文檔處理的結束。因為每個XML文檔只有一個根而這條語句是對根的部

分處理,所以是對整個XML文檔處理的結束。

   [28] XSLT文檔的結束。

    經上面對這個簡單例子的介紹,大家對XSLT對XML文檔的處理可能已經有了一個基本的了解,可以簡單的通過XSLT對XML進行

處理啦。在結束這個部分之前對XSLT的語法做一個簡單的小結:

    可以大致的把模式語言分為三種:

    選擇模式

    <xsl:for-each>、<xsl:value-of>,和 <xsl:apply-templates> 

    測試模式

    <xsl:if> 和<xsl:when>

    匹配模式

    <xsl:template>

    選擇模式語句將數據從XML中提取出來,這是一種簡單獲得數據的方法。這幾個標記都有一個select屬性,選取XML中特定結

點名的數據。

    測試模式是對數據的一個判斷,然後根據判斷和匹配的結果進行處理。有些和程序語言中的判斷語句和多判斷語句形似。

    匹配模式是一個可以單獨列出來的XSLT語句片斷,可以完成對一個特定部分的XSLT處理。有些和程序設計中的子程序相似。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved