来源 CSBlog主题制作(一)——将XML数据输出为其它格式(XHTML)

[ 2008-11-24 17:32:25 | 作者: 一线风 | 阅读:1193 | 评论:1 | 天气: sunny | 心情: normal ]
Font Size: Large | Medium | Small

先准备一个XML文件:

Link.xml
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <Links>  
  3.   <Link Name="Google" Url="http://www.google.com" />  
  4.   <Link Name="LoveCherry" Url="http://www.cnblogs.com/lovecherry" />  
  5.   <Link Name="CSDN.Net" Url="http://www.csdn.net" />  
  6.   <Link Name="博客园" Url="http://www.cnblogs.com/" />  
  7.   <Link Name="污染的Blog" Url="http://blog.csdn.net/wuhuiran" />  
  8.   <Link Name="玩野网" Url="http://www.playes.net/" />  
  9.   <Link Name="AJ:酒吧" Url="http://www.aj98.com/" />  
  10.   <Link Name="才子:才子手记" Url="http://blog.54caizi.com/blog/" />  
  11.   <Link Name="DLL:新的希望" Url="http://www.byval.org/" Title="这不过是一个测试而已" />  
  12.   <Link Name="心灵:木鸟原创" Url="http://www.psder.com/" />  
  13.   <Link Name="含笑修行's blog" Url="http://blog.knoweb.cn/" />  
  14.   <Link Name="天擎科技" Url="http://www.69sea.com" />  
  15.   <Link Name="黑妹博客" Url="http://blog.cnfol.com/xielina82782114" />  
  16.   <Link Name="Devms论坛" Url="http://bbs.devms.com" LogoUrl="/Images/Links/dmfourm.jpg" Title="Asp.Net Commitury." />  
  17. </Links>  

再准备一个XSLT模板文件

T.xslt
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <xsl:stylesheet version="2.0"  
  4.                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
  5. >  
  6.   
  7. <xsl:variable name="Links" select="/Links/Link" />  
  8.   
  9. <xsl:output  
  10.     method="xhtml"  
  11.     version="1.0"  
  12.     encoding="utf-8"  
  13.     omit-xml-declaration="no"  
  14.     indent="yes"  
  15.     media-type="application/xhtml+xml"  
  16.     doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"  
  17.     doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"  
  18.   />  
  19.   
  20. <xsl:template match="/">  
  21.     <xsl:call-template name="T.LinkPanel" />  
  22. </xsl:template>  
  23.   
  24. <xsl:template name="T.LinkPanel">  
  25. <div>  
  26. <ol>  
  27. <xsl:for-each select="$Links">  
  28. <li><xsl:value-of select="@Name" /></li>  
  29. </xsl:for-each>  
  30. </ol>  
  31. </div>  
  32. </xsl:template>  
  33.   
  34. </xsl:stylesheet>  

 

然后就是C#转换代码:

C#代码
  1. XslCompiledTransform xsl = new XslCompiledTransform();   
  2.            xsl.Load(@"C:\Web\T.xslt");   
  3.            xsl.Transform(@"C:\Web\Links.xml", @"C:\Web\Link.html");  

执行后的输出结果:

XML/HTML代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE div PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  3. <div>  
  4.   <ol>  
  5.     <li>Google</li>  
  6.     <li>LoveCherry</li>  
  7.     <li>CSDN.Net</li>  
  8.     <li>博客园</li>  
  9.     <li>污染的Blog</li>  
  10.     <li>玩野网</li>  
  11.     <li>AJ:酒吧</li>  
  12.     <li>才子:才子手记</li>  
  13.     <li>DLL:新的希望</li>  
  14.     <li>心灵:木鸟原创</li>  
  15.     <li>含笑修行's blog</li>  
  16.     <li>天擎科技</li>  
  17.     <li>黑妹博客</li>  
  18.     <li>Devms论坛</li>  
  19.   </ol>  
  20. </div>  


怎么样?是不是超简单呀? 呵~~~

待续...

[一线风 最后修改于 2008-11-24 17:38:03]
分类:项目文档
Tag: CSBlog 文档 主题 xslt
 
 
 引用回复游客
[ 2008-11-29 8:25:35]
hhhhhhhhhhhhhhhhhhhh