Visual Basic .NET で XML ドキュメントに XSLT を適用して新しい XML ドキュメントを作成する方法

文書翻訳 文書翻訳
文書番号: 300929 - 対象製品
この記事は、以前は次の ID で公開されていました: JP300929
すべて展開する | すべて折りたたむ

目次

概要

この資料では、XslTransform クラスを使用して、XSLT (Extensible Stylesheet Language Transformation) を XML (Extensible Markup Language) ドキュメントに適用し、新しい XML ドキュメントを作成する方法について説明します。XSL は、ある XML ドキュメントを別の XML ドキュメントに変換するか、または XML ドキュメントを別の構造を持つドキュメントに変換するための XML ベースの言語です。

必要条件

必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および Service Pack は次のとおりです。
  • Microsoft Visual Studio .NET
  • Microsoft .NET SDK (Software Development Kit) のクイック スタート チュートリアル
この資料は、次のトピックについて詳しい知識のあるユーザーを対象としています。
  • XML の用語
  • XML ファイルの作成と読み取り
  • XPath (XML Path Language) 構文
  • XSL

サンプル プロジェクトをビルドする

この例では Books.xml と Books.xsl という名前の 2 つのファイルを使用します。独自に作成した Books.xml ファイルと Books.xsl ファイルを使用することも、.NET SDK のクイック スタート チュートリアルに含まれているサンプル ファイルを使用することもできます。Books.xml ファイルと Books.xsl ファイルは、このプロジェクトを作成するフォルダの \Bin フォルダにコピーする必要があります。Visual Studio .NET 2003 では、これらのファイルは以下のフォルダにあります。
..\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\QuickStart\Howto\Samples\Xml\Transformxml\Vb
Visual Studio .NET 2002 では、これらのファイルは以下のフォルダにあります。
..\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Vb
  1. Visual Basic .NET で新しいコンソール アプリケーションを作成します。
  2. プロジェクトに System.Xml 名前空間への参照が含まれていることを確認します。含まれていない場合は参照を追加します。
  3. Xml および Xsl 名前空間に Imports ステートメントを使用し、後続のコードでこれらの名前空間宣言の修飾を省略できるようにします。Imports ステートメントはその他の宣言を行う前に使用する必要があります。
    Imports System.Xml
    Imports System.Xml.Xsl
    					
  4. 適切な変数を宣言し、XML ドキュメントを変換するための XslTransform オブジェクトを宣言します。
    Dim myXslTransform As XslTransform
    					
  5. 新しい XslTransform オブジェクトを作成します。XslTransform クラスは XSLT Version 1.0 勧告を実装する XSLT プロセッサです。
    myXslTransform = New XslTransform()
  6. Load メソッドを使用して、スタイル シートと共に XslTransform オブジェクトを読み込みます。このスタイル シートでは、Books.xsl ファイルの項目を単純な書籍の ISBN (International Standard Book Number) の一覧に変換します。
    myXslTransform.Load("books.xsl")
    					
  7. 変換元の XML ドキュメントと変換先の XML ドキュメントの名前を渡して Transform メソッドを呼び出し、変換を実行します。
    myXslTransform.Transform("books.xml", "ISBNBookList.xml")
    					
  8. プロジェクトをビルドして実行します。結果として出力された ISBNBookList.xml ファイルは、プロジェクト ファイルのあるフォルダの \Bin フォルダに保存されます。

完全なコード リスト

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/ja/cpref/html/frlrfsystemxmlxslxsltransformclasstopic.asp
XslTransform オブジェクトを使用する XslTransform クラスの詳細については、Microsoft .NET Framework 開発者ガイドの次のドキュメントを参照してください。
http://msdn.microsoft.com/library/ja/cpguide/html/cpconxsltransformclassimplementsxsltprocessor.asp
XSLT と ASP.NET の実践的比較については、次の MSDN Online Voices Extreme XML のコラムを参照してください。
http://www.microsoft.com/japan/msdn/columns/xml/xml02192001.asp
.NET の XML の詳細については、次のマイクロソフトの Web サイトで MSDN Magazine の資料「XML in .NET: .NET Framework XML Classes and C# Offer Simple, Scalable Data Manipulation」を参照してください。
http://msdn.microsoft.com/msdnmag/issues/01/01/xml/default.aspx
詳細については、次の書籍を参照してください。
R. Allen Wyke、Sultan Rehman、Brad Leupen 著『プログラミング XML』 (日経 BP ソフトプレス、2002 年)
詳細については、次の Microsoft Training & Certification のコースを参照してください。
XML と Microsoft .NET プラットフォームの技術概要」 (Microsoft Corporation)

プロパティ

文書番号: 300929 - 最終更新日: 2006年9月4日 - リビジョン: 5.0
この資料は以下の製品について記述したものです。
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
キーワード:?
kbhowtomaster KB300929
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

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