如何將套用至 XML 文件的 XSL 轉換,藉由使用視覺化 C#

文章翻譯 文章翻譯
文章編號: 307322 - 檢視此文章適用的產品。
本文曾發行於 CHT307322
這樣的 Microsoft Visual Basic.NET 版本文件編號,請參閱 300929.
這樣的 Microsoft Visual C++ 的.NET 版本文件編號,請參閱 815653.
這份文件是指下列Microsoft.NET Framework 類別庫命名空間:
  • 像 System.Xml
  • System.Xml.Xsl
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步說明如何套用「 可延伸樣式表語言 (XSL) 轉換 (XSLT) 可延伸使用的XslTransform類別來建立新的 XML 文件的標記語言 (XML) 文件。XSL 是一種 XML 架構語言在用來將一個 XML 文件轉換成另一個 XML 文件或到任何其他結構化的文件的 XML 文件。

需求

這份清單概述了建議的硬體、 軟體、 網路基礎結構和您所需的 service pack:
  • Microsoft Visual Studio 2008 中,Microsoft Visual Studio2005 年或 Microsoft Visual Studio.NET。
  • Microsoft.NET SDK 快速入門
本文假設您已熟悉下列主題:
  • XML 的術語
  • 建立及讀取 XML 檔案
  • XML 路徑語言 (XPath) 語法
  • XSL

若要建置範例的步驟

這個範例使用兩個名稱為 「 Books.xml 和 Books.xsl 的檔案。您可以建立您自己 Books.xml 和 Books.xsl 檔案,或使用範例檔案將包含.NET 軟體開發套件 (SDK) 快速入門。您必須將 Books.xml 和 Books.xsl 檔案複製所在的 Bin\Debug 資料夾您可以在其中建立這個專案資料夾下。這些檔案可以是在下列資料夾中找到:
..\Program Files\Microsoft Visual Studio 的.NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
  1. 在 Visual Studio 2008年中建立新 C# 主控台應用程式或較早版本的 Visual Studio 中。
  2. 請確定專案包含像 System.Xml命名空間的參考並加入的參考,如果不存在。
  3. 指定XmlXsl的命名空間的using陳述式,以便您不需要限定宣告這些稍後在程式碼中的命名空間。您必須使用using陳述式在任何其他宣告之前。
    using System.Xml;
    using System.Xml.Xsl;
    					
  4. 宣告適當的變數,並宣告來轉換 XML 文件XslTransform物件。
    XslTransform myXslTransform;
    					
  5. 建構新的XslTransform物件。XslTransform類別是 XSLT 處理器實作 XSLT 1.0 版建議事項。
    myXslTransform = new XslTransform();
    					
  6. 您可以使用Load方法來載入樣式表的XslTransform物件。這個樣式表轉換在 Books.xsl 檔中放簡單 ISBN 書籍清單的詳細資訊。
    myXslTransform.Load("books.xsl")
    					
  7. 呼叫轉換方法來啟始來源 XML 中傳遞的轉換文件與轉換的 XML 文件名稱。
    myXslTransform.Transform("books.xml", "ISBNBookList.xml");
    					
  8. 建置並執行您的專案。您可以在找到結果在您的專案檔 Bin\Debug 資料夾中的 ISBNBookList.xml 檔案資料夾。

完整程式碼範例

using System;
using System.Xml;
using System.Xml.Xsl; 
namespace XSLTransformation
{
    /// Summary description for Class1.
    class Class1
    {
        static void Main(string[] args)
        {
            XslTransform myXslTransform; 
            myXslTransform = new XslTransform();
            myXslTransform.Load("books.xsl"); 
            myXslTransform.Transform("books.xml", "ISBNBookList.xml"); 

        }
    }
}
				

?考

如需有關XslTransformXslTransform物件類別的詳細資訊,請造訪下列 MSDN 網站:
XslTransform 類別
如需有關在.NET 中的 XML 的詳細資訊,請參閱"在.NET 中的 XML:.NET Framework XML 類別和 C# 提供簡單、 可調整的資料操作"從MSDN Magazine的發行項。若要執行這項操作,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/msdnmag/issues/01/01/xml/default.aspx
?

屬性

文章編號: 307322 - 上次校閱: 2012年11月15日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
關鍵字:?
kbhowtomaster kbmt KB307322 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:307322
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