程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第二講 C#-XSLT開發(1)

C#發現之旅第二講 C#-XSLT開發(1)

編輯:關於C語言

為了讓大家更深入的了解和使用C#,我們開始這一系列的主題為“C#發現之旅 ”的技術講座。考慮到各位大多是進行WEB數據庫開發的,而所謂發現就是發現我們所 不熟悉的領域,因此本系列講座內容將是C#在WEB數據庫開發以外的應用。目前規劃的主要內 容是圖形開發和XML開發,並計劃編排了多個課程。在未來的C#發現之旅中,我們按照由淺入 深,循序漸進的步驟,一起探索和發現C#的其他未知的領域,更深入的理解和掌握使用C#進 行軟件開發,拓寬我們的視野,增強我們的軟件開發綜合能力。

本課程說明

本課程介紹XPath和XSLT的基本概念,並介紹了如何在C#中使用這些技術。

XPath介紹

XPath是從XML基礎規范上派生的技術,專門用於快速檢索和查詢XML文檔,使用方便 ,功能強大,XPath也是XSLT技術的基礎。

XPath是W3C國際標准組織定義的用於在單 個XML文檔中快速檢索和定位XML文檔節點的規范,它也是跨平台的,若一些軟件支持XPath, 則必然是支持標准的XPath語法。因此無論是Java還是C#都是支持相同語法的XPath。

我們理解XPath時可以參考文件目錄結構FilePath,在Windows資源管理器左邊的文件目錄樹 狀列表中,可以看到各種文件對象,包括磁盤根目錄,各級文件目錄等等,它們共同構成了 一個樹狀結構,我們選擇對象時既可以在這個樹狀結構中一個個查找,也可以指定路徑名來 進行快速定位,文件系統的路徑名采用斜槓號來分隔各個目錄層次的目錄名。比如在這個示 意圖中,我們選中的目錄,可以使用路徑名”c:\documents and settings\袁永福 ”來快速定位。

而XML文檔中也是這種樹狀層次結構,因此我們也可以套用這種 文件路徑名的概念到XML文檔中,於是形成了XPath路徑。我們處理XML文檔時可以一層層查找 所需的XML節點,也可以指定XPath路徑字符串來快速定位XML節點。在XPath路徑中,我們使 用反斜槓符號來分隔各個層次的XML元素的名稱。

在文件目錄系統中,我們可以可以 使用絕對路徑名,也可以使用相對路徑名,我們可以使用一個點號表示當前目錄,使用兩個 點表示父目錄。在XPath中我們也套用了類似的概念,我們從XML文檔根節點出發而指定的 XPath路徑為絕對路徑,從某個XML節點開始轉到其它節點所經過的路徑為相對路徑,我們也 使用一個點表示當前節點,也使用兩個點來表示父節點。其實我們可以將絕對路徑看成從根 節點出發的相對路徑。

在這個示意圖中,第一個選中的節點可以使用XPath路徑 “Table/Record/Country”來快速定位。

在文件目錄系統中,同一個目錄 下面不能有相同名稱的對象,因此相對路徑名和絕對路徑名都能准確的定位到一個目錄上, 而在XML文檔中,同一個XML節點下可以存在多個具有相同名稱的子節點,因此XPath路徑可能 無法唯一的確定一個XML節點。此時XPath采用了內嵌條件判斷語句的方法來解決這個問題。 XPath路徑字符串中可以使用一對方括號來包含一個邏輯表達式,在這個表達式中可以使用字 符串判斷,數學四則運算,邏輯判斷和一些預定義函數,而且XPath路徑中每個層次都能包含 表格式,因此XPath的邏輯判斷的功能是非常強大的。

在示意圖中,我們使用XPath路 徑”Table/Record[CustomerID=’ANATR’]/Phone”來快速定位第二 個節點,此處使用了一段方括弧包含了一個邏輯表達式。表示查找某個節點,該節點下的 CustoemrID子節點的文本值等於 “ANATR”。

XPath是一種國際標准,但 在微軟的.NET框架當然支持這個國際標准。我們可以使用.Net類庫中的 System.XML.Xsl.XslTransform類型來執行XSLT轉換。這個類型除了支持標准的XPath外,還 進行一些擴展,主要是能擴展使用開發者自己定義的函數。

使用XPath,我們可以很 方便的搜索XML文檔中的任何部分,因此具有很好的數據檢索分析功能,近期業界興起的半結 構化文檔技術大多就是以XPath為基礎的。

由於XPath技術是相當強的,而且是國際標 准,跨平台的,因此大家有時間好好學習使用它。對於XPath的詳細語法可訪問網站 http://www.w3.org/TR/xpath ,若大家安裝了MSDN2003版,也可參考 MSDN Library/XML Web Services/XML核心/SDK 文檔/MSXML4.0 SDK/XPath Reference。這些電子文檔全是英文 ,大家也可以購買一些專門講述XML技術的中文書籍看看。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved