Home  >  Article  >  Backend Development  >  Code example for converting xml to html via XSLT

Code example for converting xml to html via XSLT

Y2J
Y2JOriginal
2017-05-09 15:22:592681browse

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>

【Related recommendations】

1. XML Free Video Tutorial

2. XML Technical Manual

3 . Li Yanhui XHTML video tutorial

The above is the detailed content of Code example for converting xml to html via XSLT. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn