Visual C++ .NET または Visual C++ 2005 を使用して 1 つの XML ドキュメントから別に XSL 変換を適用する方法

文書翻訳 文書翻訳
文書番号: 815653 - 対象製品
すべて展開する | すべて折りたたむ

目次

Microsoft Visual C# バージョンこの資料のについて 307322 を参照してください。

この資料の Microsoft Visual Basic .NET バージョン、について 300929 を参照してください。

この資料では、次の Microsoft .NET Framework クラス ライブラリの名前空間を参照しています:
  • System.Xml
  • System.Xml.Xsl

このタスクの

概要

手順説明、XSL (拡張スタイルシート言語) 変換 (XSLT) を新しい XML ドキュメントを作成する XslTransform クラスを使用して、XML ドキュメントに適用する方法します。 XSL は、XML ベースの言語を別の XML ドキュメントに 1 つの XML ドキュメントを変換したり、他の構造化されたドキュメントに XML ドキュメントを変換するように設計されました。

要件

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

サンプルをビルドする手順

この例では 2 つのファイルを Books.xml という Books.xsl を使用します。 独自 Books.xml と Books.xsl ファイルを作成することがでくか、な .NET ソフトウェア開発キット (SDK) に含まれているサンプル ファイルを使用することができますクイック スタートします。 このプロジェクトを作成するフォルダーに、Books.xml および Books.xsl ファイルをコピーします。 次のフォルダーには、これらのファイルがあります。
Visual Studio の \Program Files\Microsoft.NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
  1. Visual Studio .NET では、新しいマネージ C++ アプリケーションの作成プロジェクト。

    メモ Visual Studio 2005 で新しい CLR コンソール アプリケーションを作成します。
  2. 次のコード System.Xml 名前空間に参照を追加する追加:
    #using <System.XMl.Dll>
  3. 後のコードでそれらの名前空間の宣言を修飾する必要はありませんできるように、 Xml および Xsl 名前空間 を使用して ステートメントを指定します。 任意他宣言します。
    using namespace System::Xml;
    using namespace System::Xml::Xsl;
    
    する前 を使用して ステートメントを使用します。
  4. 、適切な変数を宣言およびに変換する XML ドキュメント。
    XslTransform* myXslTransform;
    
    XslTransform オブジェクトを宣言
  5. 新しい XslTransform オブジェクトを構築します。 XslTransform クラスは、XSLT プロセッサ XSLT バージョン 1. 0 勧告を実装する
    myXslTransform = new XslTransform();
  6. XslTransform オブジェクト、スタイル シートを読み込むには、 負荷 </a0> メソッドを使用します。 このスタイル シートは単純な書籍の ISBN 一覧に、Books.xsl ファイルの詳細を変換します
    myXslTransform->Load(S"books.xsl");
    
  7. 変換 の変換を開始するメソッドを呼び出して、ソース XML データを渡してドキュメントと、変換された XML ドキュメント名
    myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");
    
  8. プロジェクトをビルドして実行します。 ISBNBookList.xml に表示されるプロジェクト ファイル フォルダーにあるファイル。

完全なコードのサンプル

// This is the main project file for VC++ application project 
// generated using an Application Wizard.

#include "stdafx.h"

#using <mscorlib.dll>
#using <System.XMl.Dll>
#include <tchar.h>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Xsl;


// This is the entry point for this application
int _tmain(void)
{
    XslTransform* myXslTransform;
    myXslTransform = new XslTransform();
    myXslTransform->Load(S"books.xsl");
    myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");

    return 0;
}
メモ 共通言語ランタイム サポート コンパイラ オプションを追加する (または clr:oldSyntax) 正常に上記のコード サンプルをコンパイルする Visual C++ 2005 で。 追加する、共通言語ランタイム サポート コンパイラ オプション Visual C++ 2005 には、次の手順に従います。
  1. プロジェクト ] をクリックして [<ProjectName> プロパティ

    メモ <ProjectName> は、プロジェクトの名前のプレースホルダーです。
  2. [構成プロパティ ] を展開し、[ 全般 しています。
  3. [印刷] をクリック 共通言語ランタイム サポート、古い構文 (または clr:oldSyntax) 共通言語ランタイム サポート のプロジェクト設定右側のウィンドウで [で [ 適用 ] をクリックを [OK] をクリックします。
共通言語ランタイムの詳細についてサポート コンパイラ オプションは、次のマイクロソフト Web サイトを参照してください。
/clr (共通言語ランタイムのコンパイル)
http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
全体の資料に以下の手順を適用します。
: 上 Visual C++ .NET 2003年 でコードをコンパイル中に C4996 コンパイラの警告が表示されます。 原因は 'システム:: Xml::Xsl::XslTransform::Transform' が使用されていない宣言されています。
C4996 コンパイラの警告を取得していない可能性がありますようにコードを次の使用。

置換 : 変換 ("S"books.xml, S"ISBNBookList.xml");->
myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");

myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml", 0);

関連情報

について XslTransform クラスの詳細については、次の Microsoft .NET Framework クラス ライブラリのドキュメント。
について XslTransform オブジェクトに XslTransform クラスの詳細については以下 Microsoft .NET Framework 開発者のドキュメントの概要します。
XSLT と ASP.NET の実用的な比較を次の MSDN オンラインの声のエクストリーム XML 列参照してください。
.NET の XML の詳細については、".NET 内の XML: .NET Framework の XML のクラスおよび C# 提供シンプル、スケーラブルなデータ操作"、次のマイクロソフト Web サイトから MSDN Magazine の記事。
Visual C++ .NET または .NET における XML の概要について、以下の USENET ニュースグループ参照してください。

プロパティ

文書番号: 815653 - 最終更新日: 2007年11月14日 - リビジョン: 6.3
この資料は以下の製品について記述したものです。
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
キーワード:?
kbhowto kbhowtomaster kbxml kbmt KB815653 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:815653
Microsoft Knowledge Base の免責: 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