C#:XML 转换
Posted
技术标签:
【中文标题】C#:XML 转换【英文标题】:C#: XML transformation 【发布时间】:2011-12-31 08:21:54 【问题描述】:我有一个结构已知的 XML 文件,但我无法更改其中的任何内容。 任务是在浏览器(C# WebBrowser 控件)中显示来自该 XML 的数据,也许是使用一些样式表的 html。
问题是我如何在现有 XML 上应用转换而不插入类似的东西
<?xml-stylesheet type="text/xsl" href="my-style.xsl"?>
我正在考虑在某处复制一个 XML,然后添加这个 xml 样式表,然后在浏览器中显示它。但也许我可以以某种方式动态应用样式表?
也许可以在内存中保存 XML、应用样式表并将内存中的 xml 加载到 WebBrowser 控件?
我只是想知道这样做的最佳方法是什么......
【问题讨论】:
【参考方案1】:查看the XPath Visualizer 用于生成 HTML 格式的 XML 文档的 XSLT 转换。
另外,您也可以查看 IE 的 defaultss.xsl 样式表,但请注意,它使用 XSLT 的非标准方言——严格来说根本不是 XSLT。
【讨论】:
【参考方案2】:当然可以!看看XslCompiledTransform
类。因此,您可以在内存中转换您的 XML,然后加载转换后的文档。
【讨论】:
你能给我一个例子,如何将转换后的 xml 输出到浏览器中吗?使用 Stream 还是 XmlWriter? 嗯.. 看起来我的 WebBrowser 没有显示数据... 真的很奇怪!当我使用 MessageBox.Show() 时,我可以看到页面,但是在消息关闭后,它又不可见了:(以上是关于C#:XML 转换的主要内容,如果未能解决你的问题,请参考以下文章