iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#怎么使用XSLT实现xsl、xml与html相互转换
  • 867
分享到

C#怎么使用XSLT实现xsl、xml与html相互转换

2023-06-30 18:06:44 867人浏览 薄情痞子
摘要

这篇“C#怎么使用XSLT实现xsl、xml与html相互转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么使用XS

这篇“C#怎么使用XSLT实现xsl、xml与html相互转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么使用XSLT实现xsl、xml与html相互转换”文章吧。

books.xml:

<xml version="1.0" encoding="utf-8" ?><bookstore>  <book genre="autobiography" publicationdate="1991" ISBN="1-861003-11-0">    <title>The Autobiography of Benjamin Franklin</title>    <author>      <first-name>Benjamin</first-name>      <last-name>Franklin</last-name>    </author>    <price>8.99</price>  </book>  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">    <title>The Confidence Man</title>    <author>      <first-name>Herman</first-name>      <last-name>Melville</last-name>    </author>    <price>11.99</price>  </book>  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">    <title>The Gorgias</title>    <author>      <name>Plato</name>    </author>    <price>9.99</price>  </book></bookstore>

一、转为html文档

1、xsl文件

books.xsl:

<xsl:stylesheet version="1.0" xmlns:xsl="Http://www.w3.org/1999/XSL/TransfORM"><xsl:template match="/"><HTML>    <head>        <title>Price List</title>    </head><body>    <table>        <xsl:apply-templates/>    </table>          </body>  </HTML></xsl:template><xsl:template match="bookstore">    <xsl:apply-templates select="book"/></xsl:template><xsl:template match="book">    <tr>        <td>            <xsl:value-of select="title"/>        </td>        <td>            <xsl:value-of select="price"/>        </td>    </tr></xsl:template></xsl:stylesheet>

2、转换

将books.xml按照books.xsl定义的格式转换成out.html

XslCompiledTransform trans = new XslCompiledTransform(); trans.Load(@"..\..\books.xsl"); trans.Transform(@"..\..\books.xml", "out.html");

3、结果

out.html:

<HTML>  <head>    <META http-equiv="Content-Type" content="text/html; charset=utf-8">    <title>Price List</title>  </head>  <body>    <table>      <tr>        <td>The Autobiography of Benjamin Franklin</td>        <td>8.99</td>      </tr>      <tr>        <td>The Confidence Man</td>        <td>11.99</td>      </tr>      <tr>        <td>The Gorgias</td>        <td>9.99</td>      </tr>    </table>  </body></HTML>

二、转为xml文档

1、prices.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myObj="urn:price-conv">Price conversion factor<xsl:param name="conv" select="1.15"/>  <xsl:template match="bookstore">  <bookstore>  <xsl:for-each select="book">    <book>    <xsl:copy-of select="node()"/>       <new-price>          <xsl:value-of select="myObj:NewPriceFunc(./price, $conv)"/>               </new-price>    </book>  </xsl:for-each>  </bookstore>  </xsl:template></xsl:stylesheet>

2、转换XsltArgumentList.AddExtensionObject

在以下示例中,样式表使用 XSLT 扩展对象要转换的书籍价格。

using System;using System.IO;using System.Xml;using System.Xml.XPath;using System.Xml.Xsl;public class Sample {   public static void Main() {    // Create the XslCompiledTransform and load the stylesheet.    XslCompiledTransform xslt = new XslCompiledTransform();    xslt.Load("prices.xsl");    // Create an XsltArgumentList.    XsltArgumentList xslArg = new XsltArgumentList();             // Add an object to calculate the new book price.    BookPrice obj = new BookPrice();    xslArg.AddExtensionObject("urn:price-conv", obj);    using (XmlWriter w = XmlWriter.Create("output.xml"))    {        // Transform the file.        xslt.Transform("books.xml", xslArg, w);    }  }  // Convert the book price to a new price using the conversion factor.  public class BookPrice{    private decimal newprice = 0;            public decimal NewPriceFunc(decimal price, decimal conv){       decimal tmp = price*conv;       newprice = decimal.Round(tmp, 2);       return newprice;    }  }}

3、结果

output.xml

三 、调用XSL参数

1、xml文件

order.xml

Represents a customer order<order>  <book ISBN='10-861003-324'>    <title>The Handmaid's Tale</title>    <price>19.95</price>  </book>  <cd ISBN='2-3631-4'>    <title>Americana</title>    <price>16.95</price>  </cd></order>

2、order.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  <xsl:param name="date"/>  <xsl:template match="/">    <order>      <date><xsl:value-of select="$date"/></date>      <total><xsl:value-of select="sum(//price)"/>total>    </order>  </xsl:template></xsl:stylesheet>

3、转换

下面的示例使用AddParam方法来创建表示当前日期和时间的参数。

using System;using System.IO;using System.Xml;using System.Xml.Xsl;public class Sample{    public static void Main()    {        // Create the XslCompiledTransform and load the stylesheet.        XslCompiledTransform xslt = new XslCompiledTransform();        xslt.Load("order.xsl");        // Create the XsltArgumentList.        XsltArgumentList xslArg = new XsltArgumentList();        // Create a parameter which represents the current date and time.        DateTime d = DateTime.Now;        xslArg.AddParam("date", "", d.ToString());        // Transform the file.        using (XmlWriter w = XmlWriter.Create("output.xml"))        {            xslt.Transform("order.xml", xslArg, w);        }    }}

四、使用 XML 控件

有时候你可能希望把带有其他内容的转换后的 HTML 输出和 WEB 控件组合在一起,XML 控件在页面独立的部分显示 XSL 转换后的结果:

ID="Xml1" runat="server" DocumentSource="DvdList.xml"    TransformSource="DvdList.xslt">

注意: 你也可以用编码中XmlDocument 对象赋给 Document 属性,或者把一个包含 XML 内容的字符串赋给 DocumentContent 属性,而不是使用 DocumentSource 属性。类似的,你可以一个 XslTransform 对象值赋给 Transform 属性来提供 XSLT 信息。

以上就是关于“C#怎么使用XSLT实现xsl、xml与html相互转换”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: C#怎么使用XSLT实现xsl、xml与html相互转换

本文链接: https://www.lsjlt.com/news/330893.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#使用XSLT实现xsl、xml与html相互转换
    目录一、转为html文档1、xsl文件2、转换3、结果二、转为xml文档1、prices.xsl2、转换XsltArgumentList.AddExtensionObject三 、调...
    99+
    2022-11-13
  • C#怎么使用XSLT实现xsl、xml与html相互转换
    这篇“C#怎么使用XSLT实现xsl、xml与html相互转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么使用XS...
    99+
    2023-06-30
  • C#怎么实现实体类和XML的相互转换
    这篇文章主要为大家展示了“C#怎么实现实体类和XML的相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#怎么实现实体类和XML的相互转换”这篇文章吧。一、实体类转换成XML将实体类转换成...
    99+
    2023-06-29
  • Canvas与Image怎么实现互相转换
    这篇文章将为大家详细讲解有关Canvas与Image怎么实现互相转换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。转换 Image为 Canvas 要把图片...
    99+
    2022-10-19
  • ESM与CJS互相转换怎么实现
    本篇内容介绍了“ESM与CJS互相转换怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!正文ESM 和 CJS 是我们常用的模块格式,两...
    99+
    2023-07-05
  • C#怎么实现Array,List,Dictionary相互转换
    这篇文章主要介绍“C#怎么实现Array,List,Dictionary相互转换”,在日常操作中,相信很多人在C#怎么实现Array,List,Dictionary相互转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-30
  • 如何使用JAXBContext实现Java和xml的互相转换
    这篇文章主要介绍了如何使用JAXBContext实现Java和xml的互相转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JAXBContext实现Java和xml的互相转...
    99+
    2023-06-20
  • C#怎么实现XML文件与DataTable、Dataset互转
    本篇内容介绍了“C#怎么实现XML文件与DataTable、Dataset互转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、DataTa...
    99+
    2023-06-30
  • android中怎么实现String与InputStream相互转换
    android中怎么实现String与InputStream相互转换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一:纯手戳代码:String to InputStreamSt...
    99+
    2023-06-02
  • Java中string与int怎么实现互相转换
    本篇文章为大家展示了Java中string与int怎么实现互相转换,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。int -> String int i=12345;String s="...
    99+
    2023-05-31
    java string int
  • C#怎么实现Word和ODT文档相互转换
    本篇内容介绍了“C#怎么实现Word和ODT文档相互转换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ODT文档格式一种开放文档格式(Ope...
    99+
    2023-06-30
  • 使用JAXBContext轻松实现Java和xml的互相转换方式
    JAXBContext实现Java和xml的互相转换 类文件注解:@XmlRootElement不可缺少 <span style="font-size:14px;">...
    99+
    2022-11-12
  • Java图片与二进制相互转换怎么实现
    这篇文章主要介绍了Java图片与二进制相互转换怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java图片与二进制相互转换怎么实现文章都会有所收获,下面我们一起来看看吧。1、下面是一个完整的代码示例指定文...
    99+
    2023-07-05
  • Java中BeanMap怎么实现对象与Map相互转换
    这篇文章主要介绍“Java中BeanMap怎么实现对象与Map相互转换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中BeanMap怎么实现对象与Map相互转换”文章能帮助大家解决问题。ja...
    99+
    2023-06-29
  • 怎么实现C#与Lua相互调用
    这篇文章主要介绍“怎么实现C#与Lua相互调用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么实现C#与Lua相互调用”文章能帮助大家解决问题。一、编译Lua动态链接库1. 编译Windows下使...
    99+
    2023-06-30
  • Map与JavaBean相互转换的工具类怎么使用
    今天小编给大家分享一下Map与JavaBean相互转换的工具类怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用范围...
    99+
    2023-06-29
  • abap结构或内表怎么实现与json字符串相互转换.
    本篇内容介绍了“abap结构或内表怎么实现与json字符串相互转换.”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!可使用的类有很多,如cl_...
    99+
    2023-06-04
  • Java使用poi做加自定义注解实现对象与Excel相互转换
    引入依赖 maven <dependency> <groupId>org.apache.poi</groupId> <a...
    99+
    2022-11-12
  • 使用Java怎么实现一个将字母的大小写相互转换功能
    使用Java怎么实现一个将字母的大小写相互转换功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。实现代码:import java.util.Scanner;public cla...
    99+
    2023-05-31
    java 相互 ava
  • Java如何使用poi做加自定义注解实现对象与Excel相互转换
    这篇文章将为大家详细讲解有关Java如何使用poi做加自定义注解实现对象与Excel相互转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引入依赖maven<dependency> ...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作