次の方法で共有


方法 : XML Web サーバー コントロール内の XML データを変換する

更新 : 2007 年 11 月

XSL 変換 (XSLT: XSL Transformation) スタイル シート (.xslt ファイルまたは .xsl ファイル) は、ソース XML ドキュメントの内容を特定のユーザー、メディア、またはクライアント専用のプレゼンテーションに変換する場合に使用します。Xml Web サーバー コントロールで XML データを変換するには 2 つの方法があります。

  • 外部 .xslt ファイルを指定し、XML ドキュメントに変換が自動的に適用されるようにします。

  • XslTransform 型のオブジェクトである変換を XML ドキュメントに適用します。

いずれの方法を使用しても同じ結果が得られます。アプリケーションに最適な方法を選択してください。変換が .xsl ファイルまたは .xslt ファイルの形式である場合は、ファイルの読み込みが簡単です。変換がオブジェクトの形式である場合、変換は別のプロセスによってアプリケーションに渡されることが多く、オブジェクトとして適用できます。

35b30hy4.alert_note(ja-jp,VS.90).gifメモ :

XslTransform クラスを使用して、変換のインスタンスに .xsl ファイルまたは .xslt ファイルを読み込むこともできます。

ファイルから変換を適用するには

  1. Xml コントロールを Web フォーム ページに追加します。

  2. Xml コントロールの TransformSource プロパティに、XSLT ドキュメントへのパスを設定します。

    35b30hy4.alert_note(ja-jp,VS.90).gifメモ :

    アプリケーションを実行するときは、XML ファイルの読み取りアクセス許可があることを確認する必要があります。

    次のコード例は、 Xml1 という Xml コントロールにファイルから変換を適用する方法を示しています。

    Xml1.TransformSource = "mystyle.xsl"
    
    Xml1.TransformSource = "mystyle.xsl";
    

XslTransform オブジェクトから変換を適用するには

  1. XslTransform クラスのインスタンスを作成します。

  2. Xml コントロールの Transform プロパティに、変換のインスタンスを設定します。

    次のコード例は、変換クラスのインスタンスを作成し、そのインスタンスを使用してオブジェクトに変換を適用する方法を示しています。この例では XML ドキュメントと変換の両方をファイルから読み込みますが、実際のアプリケーションではそれぞれ別のコンポーネントから読み込む場合があります。変換は、ページの読み込み直後に適用されます。

    Private Sub Page_Load(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles MyBase.Load
       Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument()
       doc.Load(Server.MapPath("MySource.xml"))
       Dim trans As System.Xml.Xsl.XslTransform = _
          New System.Xml.Xsl.XslTransform
       trans.Load(Server.MapPath("MyStyle.xsl"))
       Xml1.Document = doc
       Xml1.Transform = trans
    End Sub
    
    private void Page_Load(object sender, System.EventArgs e)
    {
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load(Server.MapPath("MySource.xml"));
        System.Xml.Xsl.XslTransform trans = new 
           System.Xml.Xsl.XslTransform();
        trans.Load(Server.MapPath("MyStyle.xsl"));
        Xml1.Document = doc;
        Xml1.Transform = trans;
    }
    

参照

参照

XML Web サーバー コントロールの概要