c#中使用XSLT将xml文档转换为html文档方法

2023-05-16

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">
    <div>
      <xsl:apply-templates select="category" />
    </div>
  </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:


<div>
<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>
</div>  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c#中使用XSLT将xml文档转换为html文档方法 的相关文章

  • http和https在编程中有什么区别[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只知道 s 代表 安全 用户永远不
  • 使用 IE9、10、11 的 CSS 将比例打印到 50% 等百分比

    Zoom css 属性不适用于 IE9 10 11 观察到打印预览 UI 令人不安 默认比例为 缩小以适合 当我将此比例从 缩小 更改为适合 50 时 页面显示正常 打印预览 任何人都可以帮助我如何使用 CSS 代码将比例设置为 50 为页
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • CSS如何制作可滚动列表

    我正在尝试创建一个由标题和标题下方的项目列表组成的网页 我希望项目列表可以垂直滚动 我还希望网页占据整个窗口 但不要更大 目前我的问题是项目列表不可滚动 而是延伸到窗口底部下方很远 这导致窗口可滚动 应该做什么CSS属性位于html bod
  • IE localStorage 事件失火

    在 Internet Explorer 9 和 10 中 localStorage 实现意外地触发事件 这里有很棒的线索 Chrome 的 localStorage 实现存在错误 https stackoverflow com questi
  • 在 Java 中通过 XSLT 分解 XML

    我需要转换具有嵌套 分层 表单结构的大型 XML 文件
  • platformnotsupportedException :XSLCompiledTransform.Load(xslt) 未在 .net Core 2.1 目标框架中加载带有 的 xslt 文件

    我有一个 xml 文件 需要将其转换为 txt 为此我使用了 xslt 转换 我的 xslt 转换文件包含一些支持 javascript 函数 如果我在 net Framework 4 5 及更高版本中运行代码 我可以成功转换文件 但相同的
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • XPath:通过当前节点属性选择当前和下一个节点的文本

    首先 这是从我之前的问题 https stackoverflow com questions 5202187 xpath select current and next nodes text by current node attribut
  • 使用 Xpath 进行部分匹配

    我正在尝试创建一个搜索功能 允许使用 Xpath 按歌曲标题或流派进行部分匹配 这是我的 XML 文件
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • 捕获高分辨率视频/图像 html5

    我使用 geUserMedia 从网络摄像头捕获图像Intro http www html5rocks com en tutorials getusermedia intro 我得到的最佳分辨率是640 480 但我有高清网络摄像头 录制视
  • 最大宽度不适用于弹性项目

    我有一列中有一个弹性容器和两个弹性子容器 顶部 div 应填充所有剩余空间 底部 div 的高度应由内容和max width 但底部 div 的宽度正在缩小到其内容的宽度 这max width正在被忽视 hero image min hei
  • 以编程方式在网站上输入字符串

    我想知道如何或是否可以通过 iPhone 应用程序代码在网站的文本字段中输入内容 所以我想去一个网站 中间有一个文本字段 我想在那里输入一个特定的字符串 我怎样才能在 Swift 中做到这一点 或 Objective C 然后我会弄清楚它在
  • div 全宽的响应式背景图像

    我正在尝试弄清楚如何在 div 全宽和响应式中制作背景图像 背景图像在页面的宽度上扩展 并且具有响应性 但图像的高度不是其完整高度 似乎它被某种方式切断了 我正在使用引导框架 我尝试这样做的原因是我想在图像上覆盖一些文本 我尝试了很多不同的
  • 如何将 blob 文件附加到 HTML href="mailto:" 中

    我有一个可通过 URL 获取的文件 需要授权 我创建了一个 mailto 链接 并希望将此文件附加到邮件中 我怎样才能做到这一点 类似于 mailto 电子邮件受保护 cdn cgi l email protection attachmen
  • 无法通过 xslt 删除其中“xsi:nil”的标签

    我有以下 xml 其中包含多个带有 xsi nil true 的 xml 标签 这些标签基本上是空的 我无法使用 找到任何 sxlt 转换器来从 xml 中删除这些标签并获取 xml 的其余部分
  • 嵌入来自谷歌驱动器的图像,没有灰色边框和缩放工具?

    I have a webpage that has an image that is stored in google drive and using the google drive embed code results in this
  • 如何使用 Nokogiri 将带有 & 符号的字符串放入 xml 文件中?

    我试图在 XML 文件中包含图像的 URL 并且 URL 查询字符串中的 符号被删除 bgdoc xpath Master each do elem part elem xpath Part inner text image imageha

随机推荐

  • 单片机学习经验总结

    单片机的学习是嵌入式中的裸机开发 xff0c 也就是不基于操作系统的开发过程 xff0c 你只要把自己学的程序下载到单片机内执行即可 xff08 这个过程有个专业术语 xff1a 烧写 xff09 在这个过程中 xff0c 你所写的程序 x
  • 三极管的工作原理(详细、通俗易懂、图文并茂)

    一 很多初学者都会认为三极管是两个 PN 结的简单凑合 xff08 如图1 xff09 这种想法是错误的 xff0c 两个二极管的组合不能形成一个三极管 我们以 NPN 型三极管为例 xff08 见图 2 xff09 xff0c 两个 PN
  • 三极管工作原理图解,快速了解三极管结构和工作原理

    了解三极管工作原理前 xff0c 先看一张三极管内部结构原理图 xff1b 从图中可以清晰的看出NPN和PNP内部结构的区别 三极管NPN型和PNP型的工作原理 xff1a NPN三极管 xff1a Vb lt Ve xff08 截止状态
  • C# 获取进程或线程的信息

    using System using System Collections Generic using System Linq using System Text using System Diagnostics namespace Con
  • C#图片保存与读取,以及图片另存操作

    照片的保存与读取 lt summary gt 图片转二进制 lt summary gt lt param name 61 34 imgPhoto 34 gt 图片对象 lt param gt lt returns gt 二进制 lt ret
  • C#异常解决:在调用OLE之前,必须将当前线程设置为单线程单单元(STA)模式。

    问题来源 xff1a 昨晚上在调试数据库大作业的时候 xff0c 我在注册界面Register里点击 34 上传头像 34 这个linklabel时 xff0c 程序出现了一个异常 xff1a 在调用OLE之前 xff0c 必须将当前线程设
  • Qt调用OpenCV汇总(1)

    1 在Qt Creator上新建一个项目 右键新项目 gt gt 添加库 gt gt 外部库 gt gt 选中库文件路径 gt gt 下一步 xff0c 完成 xff0c 添加到 pro文件中 然后再在pro文件中手动输入下面代码 xff1
  • qt调用opencv汇总(2)

    OpenCV3 4 3 43 Qt5 9 4 QtCreator 开发环境搭建 之前有过对OpenCV3 4 2 43 VS2015编译及环境搭建 xff0c 今天使用OpenCV3 4 3 43 QtCreator5 9 4编译及环境搭建
  • 关于QT下配置OpenCV3.4.0后出现 error: undefined reference to ‘cv::xxx‘的问题及解决方案,直接使用编译好的opencv库

    按照网上的办法 xff0c 在QT中pro文件末尾添加以下代码来引入OpenCV的库和头文件 xff1a INCLUDEPATH 43 61 D OpenCV3 4 opencv build mingw install x64 mingw
  • C#实现最小二乘法

    根据http zh wikipedia org wiki E6 9C 80 E5 B0 8F E4 BA 8C E4 B9 98 E6 B3 95里面的说法 xff1a 线性函数模型 典型的一类函数模型是线性函数模型 最简单的线性式是 xf
  • C++动态(显式)调用 C++ dll示例

    1 创建DLL新项目Dll1 xff0c Dll1 cpp 1 extern 34 C 34 declspec dllexport const char myfunc 2 3 return 34 hello 34 4 生成后 xff0c 将
  • 用quagga建立BGP会话

    本文将讲述使用quagga建立一个BGP会话 本次测试拓扑 假设运营商A与运营商B建立BGP对等互联来交换路由 下面是她们的AS号和IP地址范围 xff1a 运营商 A AS38372 xff0c IP段 172 16 0 0 16 xff
  • c++中堆、栈内存分配概念示例讲解

    首先来看看主要有几种程序内存分配 xff1a 一个由C C 43 43 编译程序占用内存分为以下几个部分 1 栈区 xff08 stack xff09 由编译器自动分配释放 xff0c 存放函数参数值 xff0c 局部变量值等 其操作方式类
  • winform窗体控件多,加载慢、卡顿的解决办法

    protected override CreateParams CreateParams get CreateParams cp 61 base CreateParams cp ExStyle 61 0x02000000 用双缓冲绘制窗口的
  • c# 中ToolStrip控件中button控件,显示文字和图标

    1 同时显示文字和图标 DisplayStyle 属性设为 ImageAndText DisplayStyle属性用来设置图标的显示状态为 图片 文字 图片和文字 ImageRelation 属性设为 ImageBeforeText Tex
  • C#中的线程池使用方法

    1 线程池的概念 许多应用程序使用多个线程 xff0c 但这些线程经常在休眠状态中耗费大量的时间来等待事件发生 其他线程可能进入休眠状态 xff0c 并且仅定期被唤醒以轮询更改或更新状态信息 xff0c 然后再次进入休眠状态 为了简化对这些
  • C# 读写ini配置文件demo

    INI就是扩展名为 34 INI 34 的文件 其实他本身是个文本文件 可以用记事本打工 主要存放的是用户所做的选择或系统的各种参数 INI文件其实并不是普通的文本文件 它有自己的结构 由若干段落 SECTION 组成 在每个带括号的标题下
  • C#实现实体类和XML相互转换

    一 实体类转换成XML 将实体类转换成XML需要使用XmlSerializer类的Serialize方法 xff0c 将实体类序列化 public static string XmlSerialize lt T gt T obj using
  • C# 中xml数组的序列和反序列化方法

    先来看xml lt xml version 61 39 1 0 39 gt lt root xmlns xsi 61 39 http www w3 org 2001 XMLSchema instance 39 xmlns xsd 61 39
  • c#中使用XSLT将xml文档转换为html文档方法

    c 使用XSLT将xml文档转换为html文档 使用xslt可以将xml文档转成html xff0c 如下c 函数 xff1a 需要引用下面的命名空间 xff1a using System Xml using System Xml Xsl