XSLT変換XSLT変換XMLを変換する方法はいくつかあるけど、比較的簡単なXSLTを使ってXMLをHTMLに変換してみる。入力ファイルまず、入力XMLファイルについて。作るなら少し実用的なモノがいいということで、価格.comのWebサービス(REST)で返されるXMLファイルを使ってみることにした。「iPod」を調べるためには、以下のようなURLをリクエストする。keywordに全角、空白等は無しということで。すると、検索結果として以下のXMLが返されてくる。今回は、このXMLを入力ファイルとして扱ってみる。XSLファイル次に、変換パターンを決めるXSLファイル。XSLファイル自体もXMLで記述されていて、このXSLファイルにフォーマット変換のルールを定義する。今回は、価格.comから返された結果を変換する。[1]入力ファイル(XML)内のタグをHTMLのどこに割り当てるかルールを定義する。商品名とし、これをHTMLで利用する。href=”リンク先”>商品名</a>これをXSLで書くと↓こんな感じになる。select="ProductName"/&gt;&lt;/a&gt;その他のタグについても変換ルールを決める。ちなみに、↓これはくしけん用XSLを簡略化したもの。XSLTプロセッサXSLファイルを変換させるためには、XMLプロセッサ(XSLT)が必要。XSLTは、Java、.NET、PHP、Webブラウザ(JavaScript)など、様々な言語で用意されている。今回はC#(.NET)を利用してみるが、他の言語で利用したとしても、[1],[2]のファイル内容は変わらない。プログラムはいたって簡単。入力XMLファイル、XSLファイル、出力ファイルを指定するぐらい。using&nbsp;System;using&nbsp;System.Collections.Generic;using&nbsp;System.ComponentModel;using&nbsp;System.Data;using&nbsp;System.Drawing;using&nbsp;System.Text;using&nbsp;System.Windows.Forms;using&nbsp;System.Xml.Xsl;using&nbsp;System.Xml;using&nbsp;System.Diagnostics;namespace&nbsp;xml2html{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;partial&nbsp;class&nbsp;Form1&nbsp;:&nbsp;Form&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Form1()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;button1_Click(object&nbsp;sender,&nbsp;EventArgs&nbsp;e)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;XSLT変換&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XslCompiledTransform&nbsp;xslt&nbsp;=&nbsp;new&nbsp;XslCompiledTransform();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xslt.Load(textBoxXsl.Text);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;XSLT変換&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;outFile&nbsp;=&nbsp;"result.htm";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xslt.Transform(textBoxXml.Text,outFile);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process.Start(outFile);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;ex)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show("XSLT変換に失敗しました。textBoxXml.Textには入力XML、textBoxXsl.TextにはXSLファイルを入れる。出力ファイル[1],[2]を[3],[4]で実行すると、以下のようなHTMLファイルが出力される。サンプルプログラム上記サンプルの一式はこちら。