HOW TO:使用 Visual Basic .NET 從 XML 文件套用 XSL 轉換到 XML 文件

文章翻譯 文章翻譯
文章編號: 300929 - 檢視此文章適用的產品。
本文曾發行於 CHT300929
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何使用 XslTransform 類別將「可延伸樣式表語言 」(XSL,Extensible Stylesheet Language ) 「可延伸樣式表語言轉換 」(XSLT,Extensible Stylesheet Language Transformation) 套用到「可延伸標記語言」 (XML,Extensible Markup Language) 文件,來建立新的 XML 文件。 XSL 為 XML 架構語言,設計用來將 XML 文件轉換成其他 XML 文件,或任何其他結構的 XML 文件。

需求

此清單概述建議您使用的所需硬體、軟體、網路基礎結構和 Service Pack:

  • Microsoft Visual Studio .NET
  • Microsoft .NET Software Development Kit (SDK) Quickstarts
本文假設您熟悉下列主題:

  • XML 詞彙
  • 建立和讀取 XML 檔案
  • XML 路徑語言 (XPath) 語法
  • XSL

建立範例的步驟

本範例使用兩個名為 Books.xml 和 Books.xsl 的檔案。您可建立自己的 Books.xml 和 Books.xsl 檔案,或是使用 .NET Software Development Kit (SDK) QuickStarts 所附的範例檔案。您必須將 Books.xml 和 Books.xsl 檔案複製到 \Bin\Debug 資料夾,位於您建立此專案所在的資料夾之下。這些檔案可在下面資料夾中找到:
..\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
  1. 在 Visual Basic .NET 中建立新的主控台應用程式
  2. 確認該專案含有到 System.Xml 命名空間的參考,如果沒有,新增一個參考。
  3. 使用 Imports 陳述式 (在 Xml Xsl 命名空間中),這樣您就不需要在稍後的程式碼中確認這些命名空間中的宣告。在任何其他宣告前,您必須使用 Imports 陳述式:
    Imports System.Xml
    Imports System.Xml.Xsl
  4. 宣告合適的變數。宣告 XslTransform 物件來轉換 XML 文件:
    Dim myXslTransform As XslTransform
  5. 建構新的 XslTransform 物件。 XslTransform 類別為 XSLT 處理器,它實作 XSLT 1.0 版的建議事項:
    myXslTransform = New XslTransform()
  6. 使用 Load 方法來載入包含樣式表的 XslTransform 物件。此樣式表將 Books.xsl 檔案的詳細資料轉換成簡單的 International Standard Book Number (ISBN) 叢書清單。
    myXslTransform.Load("books.xsl")
  7. 呼叫 Transform 方法來啟始轉換,在來源 XML 文件和轉換的 XML 文件名稱中傳遞:
    myXslTransform.Transform("books.xml", "ISBNBookList.xml")
  8. 建立並執行專案。可在您專案檔案的資料夾下的 \Bin\Debug 資料夾下找到產生的 ISBNBookList.xml 檔案。

完整程式碼範例

Imports System.Xml
Imports System.Xml.Xsl
Module Module1

    Sub Main()
        Dim myXslTransform As XslTransform
        myXslTransform = New XslTransform()
        myXslTransform.Load("books.xsl")
        myXslTransform.Transform("books.xml", "ISBNBookList.xml")
    End Sub

End Module

?考

如需 XslTransform 類別的詳細資訊,請參閱下面 Microsoft .NET Framework 類別庫文件:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxslxsltransformclasstopic.asp?frame=true
如需含有 XslTransform 物件的 XslTransform 類別的詳細資訊,請參閱下面的 Microsoft .NET Framework 開發人員指南文件:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconxsltransformclassimplementsxsltprocessor.asp
如需 XSLT 和 Active Server Pages .NET 的實際比較,請參閱以下 MSDN Online Voices Extreme XML 專欄:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml02192001.asp
如需關於 .NET 中 XML 的詳細資訊,請參閱 MSDN Magazine 的〈XML in .NET: .NET Framework XML Classes and C# Offer Simple, Scalable Data Manipulation〉文章,位於以下的 Microsoft 網站:
http://msdn.microsoft.com/msdnmag/issues/01/01/xml/default.aspx


如需詳細資訊,請參閱以下叢書:
R. Allen Wyke, Sultan Rehman, Brad Leupen 《 XML Programming (Core Reference) 》 Microsoft Press, 2001
如需詳細資訊,請參閱下列 Microsoft Training & Certification 課程:
Microsoft Corporation Introduction to XML and the Microsoft .NET Platform


本文件是根據 Microsoft Knowledge Base 文件編號 Q300929 翻譯的。若要參考原始英文文件內容,請至以下網址:

http://support.microsoft.com/support/kb/articles/Q300/9/29.asp

屬性

文章編號: 300929 - 上次校閱: 2006年4月26日 - 版次: 5.0
這篇文章中的資訊適用於:
  • Microsoft Visual Basic .NET 2002 Standard Edition
關鍵字:?
kbhowto kbhowtomaster kbxml KB300929
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com