【问题标题】:How to convert XML to Html in c#?如何在 C# 中将 XML 转换为 Html?
【发布时间】:2011-11-05 05:30:03
【问题描述】:

将xml转换为html最好的方法是什么,目前我正在使用Xpathnavigator和xpathnodeiterator来查询和遍历xml。这工作正常,但我需要将此 xml 转换为 html,并在浏览器中显示一些表格,这是实现此目的的最佳方式。而且 xml 并不总是恒定的,我的意思是 xml 是动态生成的。 xml如下:

- 
<win32_networkadapter>
<entity>
  <index>1</index> 
  <speed /> 
  <manufacturer /> 
  <pnpdeviceid /> 
  <name>RAS Async Adapter</name> 
  <adaptertype /> 
  </entity>
- <entity>
  <index>2</index> 
  <speed /> 
  <manufacturer>Microsoft</manufacturer> 
  <pnpdeviceid>ROOT\MS_L2TPMINIPORT\0000</pnpdeviceid> 
  <name>WAN Miniport (L2TP)</name> 
  <adaptertype /> 
  </entity>
</win32_networkadapter>

这个 xml 包含系统中网络适配器的详细信息,要获取详细信息,使用 wmi 并动态生成 xml。因此,一个系统可能包含 2 个网络适配器,如上述 xml 和其他系统可能包含 3 或 4 个网络适配器,在这种情况下 xml 会增长。在这种情况下,如何动态地从这个 xml 生成 html。在浏览器的表格中显示网络详细信息。

谢谢

【问题讨论】:

    标签: c# xml


    【解决方案1】:

    可以使用 XSLT 将 XML 文件转换为 HTML。

    【讨论】:

      【解决方案2】:

      您可以设置 xml 文档本身的样式,而不是将 xml 转换为 html,您可以阅读有关 documentation, w3 for xml stylesheetsStyling XML Documents with CSSadding style to xml 的更多信息

      【讨论】:

      • 直接将 XML 与 CSS 结合使用是一种经常被忽视的方法,因此提醒我们这一点是对的,但值得指出的是它有其局限性。尽管 CSS 已经变得非常强大,但我认为将数据组织在一个由行和列组成的表格中会使这种方法达到其极限。
      【解决方案3】:

      有几个可以从 C# 调用的 XSLT 处理器。 Microsoft 仅支持 XSLT 1.0(但这可能足以满足您的需要,具体取决于转换的复杂性)。有两个处理器支持此环境的 XSLT 2.0:Saxon 和 XQSharp。尽管 XSLT 有一个学习曲线,但代码比使用 DOM 级 C# 编码编写的任何东西都更易于维护。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-12
        • 1970-01-01
        • 1970-01-01
        • 2012-05-15
        相关资源
        最近更新 更多