首頁  >  文章  >  後端開發  >  透過XSLT將xml轉換為html的程式碼範例

透過XSLT將xml轉換為html的程式碼範例

Y2J
Y2J原創
2017-05-09 15:22:592634瀏覽

c#使用XSLT将xml文档转换为html文档
使用xslt可以将xml文档转成html,如下c#函数:
需要引用下面的命名空间:

using System.Xml; 
using System.Xml.Xsl;
   
方法实现:
public static string ConvertXML(XmlDocument InputXMLDocument, string XSLTFilePath 
, XsltArgumentList XSLTArgs) 
{ 
   System.IO.StringWriter sw = new System.IO.StringWriter(); 
   XslCompiledTransform xslTrans = new XslCompiledTransform(); 
   xslTrans.Load(XSLTFilePath); 
   xslTrans.Transform(InputXMLDocument.CreateNavigator(), XSLTArgs, sw); 
   return sw.ToString(); 
}
   
示例xml文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<sexystars>
  <category name="Bollywood">
    <sexystar name="Antra mali" />
    <sexystar name="Deepika Padukone" />
    <sexystar name="Mandira Bedi" />
  </category>
  <category name="Hollywood">
    <sexystar name="Jennifer Lopez" />
    <sexystar name="Jessica Alba" />
  </category>
</sexystars>
   
示例xslt文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
  <xsl:template match="sexystars">
    <p>
      <xsl:apply-templates select="category" />
    </p>
  </xsl:template>
  <xsl:template match="category">
    <h2>
      <xsl:value-of select="@name"/>
    </h2>
    <ul>
      <xsl:apply-templates select="sexystar" />
    </ul>
  </xsl:template>
  <xsl:template match="sexystar">
    <li>
      <xsl:value-of select="@name"/>
    </li>
  </xsl:template>
</xsl:stylesheet>
   
调用的c#代码:
XmlDocument xDoc=new XmlDocument(); 
xDoc.Load(@"C:\sample.xml"); 
string returnhtml = ConvertXML(xDoc, @"C:\sample.xslt", new XsltArgumentList());
   
将输入如下html: 
<p>
<h2>Bollywood</h2>
  <ul>
    <li>Antra mali</li>
    <li>Deepika Padukone</li>
    <li>Mandira Bedi</li>
  </ul>
<h2>Hollywood</h2>
  <ul>
    <li>Jennifer Lopez</li>
    <li>Jessica Alba</li>
  </ul>
</p>

【相關推薦】

1. XML免費影片教學

#2. XML技術手冊

##3 .

李炎恢XHTML影片教學

以上是透過XSLT將xml轉換為html的程式碼範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn