2009-07-13 123 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

我標記你的答案是正確的,因爲你發佈了更好的文章。 – 2009-07-13 22:00:15

+0

請爲文本編寫器添加一個使用塊,也許可以使用XmlWriter.Create? – 2009-07-13 22:02:49

+0

@Richie:示例代碼被複制並粘貼,人們發牢騷並說,「但Richie Hindle說沒關係。」因此,-1。 – 2009-07-14 00:51:42

0

如果什麼HTML是一個invaild mat xml?

它看起來像我們不能使用xslt?

任何反饋?