2009-07-13 15 views
0

私はこのちょっと面白い要件があります。XSLTとXML質問

通常、XSLTを使用してXML文書を変換します。変換されたHTMLはウェブブラウザで見ることができますが、これは素晴らしいことです。また、XSLTを使用してXML文書のページソースを表示すると、html、xmlのみが表示されないため、ブラウザがメモリ内の変換を処理すると推測しています。

私がしたいことは次のとおりです。

C#を使用して

  1. グラブファイルシステムからXMLファイル....
  2. は、XSLTスタイルシートを
  3. 出力上のHTMLファイルに戻ってレンダリングされたHTMLを取り付けるいくつかのフレームワークオブジェクトに 読み込み、それをファイルシステム。

これが可能です。

ソリューション全体で完全な回答は期待できません。正しい方向へのプッシュは素晴らしいでしょう:)前もって感謝します。

答えて

5

System.Xml.Xslを使用すると、C#でXSLTを実行できます。

ここに記事があります:XML transformation using Xslt in C#方法を説明します - ここでのコアです:

XPathDocument myXPathDoc = new XPathDocument(<xml file path>); 
XslTransform myXslTrans = new XslTransform(); 
myXslTrans.Load(<xsl file path>); 
XmlTextWriter myWriter = new XmlTextWriter("result.html", null); 
myXslTrans.Transform(myXPathDoc, null, myWriter); 

編集は:@ジョンへの注意:このコードは、基本的な考え方を示し、それがふりをしません。生産品質こと。)

+0

あなたの答えは正しいとマークしました。より良い記事を投稿しました。 –

+0

テキストライター用のブロックを追加して、XmlWriter.Createを使用してください。 –

+0

@リーチ:サンプルコードがコピーされて貼り付けられ、人々は泣き言を言って「リッチー・ヒンドルはそれは大丈夫だ」と言った。従って、-1。 –

0

は、HTMLがためinvaildあるものならば...ここで説明マットxml?

xsltを使用できないようですか?

フィードバックはありますか?

+0

google "beautifulsoup"、 "htmltidy"、 "html agility pack" – annakata

+0

ありがとう、ANNAKATA – ariso