C#實現(xiàn)XSL轉換的方法
本文實例講述了C#實現(xiàn)XSL轉換的方法。分享給大家供大家參考,具體如下:
xsl 可方便的將一種格式的xml,轉換成另一種格式的xml,參考下面的代碼:
using System; using System.IO; using System.Text; using System.Xml; using System.Xml.Xsl; namespace XslLoad { class Program { static void Main(string[] args) { string xml = @"<?xml version='1.0' encoding='ISO-8859-1'?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> </catalog>"; string xsl = @"<?xml version='1.0' encoding='ISO-8859-1'?> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match='/'> <html> <body> <h2>My CD Collection</h2> <table border='1'> <tr bgcolor='#9acd32'> <th align='left'>Title</th> <th align='left'>Artist</th> </tr> <xsl:for-each select='catalog/cd'> <tr> <td><xsl:value-of select='title'/></td> <td><xsl:value-of select='artist'/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>"; string result = XslTransform(xml, xsl); Console.WriteLine(result); Console.Read(); } /// <summary> /// 將Xml利用Xsl轉換成目標xml /// </summary> /// <param name="inputXmlConent">輸入的xml</param> /// <param name="inuptXslContent">xsl</param> /// <returns>轉換后的目標xml</returns> static String XslTransform(string inputXmlConent, string inuptXslContent) { XmlReader readerXml = XmlReader.Create(new MemoryStream(UTF8Encoding.UTF8.GetBytes(inputXmlConent))); XmlReader readerXsl = XmlReader.Create(new MemoryStream(UTF8Encoding.UTF8.GetBytes(inuptXslContent))); XslCompiledTransform transform = new XslCompiledTransform(); transform.Load(readerXsl); StringBuilder sb = new StringBuilder(); XmlWriterSettings Settings = new XmlWriterSettings() { Indent = true, ConformanceLevel = ConformanceLevel.Auto }; XmlWriter writer = XmlWriter.Create(sb, Settings); transform.Transform(readerXml, writer); return sb.ToString(); } } }
輸出結果:
<html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <tr> <td>Empire Burlesque</td> <td>Bob Dylan</td> </tr> </table> </body> </html>
希望本文所述對大家C#程序設計有所幫助。
欄 目:C#教程
下一篇:C#編程實現(xiàn)連接SQL SERVER數(shù)據(jù)庫實例詳解
本文標題:C#實現(xiàn)XSL轉換的方法
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6800.html
您可能感興趣的文章
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新聞效果的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已安裝軟件變化的方法
- 01-10C#實現(xiàn)多線程下載文件的方法
- 01-10C#實現(xiàn)Winform中打開網頁頁面的方法
- 01-10C#實現(xiàn)遠程關閉計算機或重啟計算機的方法
- 01-10C#自定義簽名章實現(xiàn)方法
- 01-10C#文件斷點續(xù)傳實現(xiàn)方法
- 01-10winform實現(xiàn)創(chuàng)建最前端窗體的方法


閱讀排行
本欄相關
- 01-10C#通過反射獲取當前工程中所有窗體并
- 01-10關于ASP網頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10C#中split用法實例總結
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設置