2011-11-17 86 views
3

我有一个具有已知结构的XML文件,但我无法更改它。 任务是在浏览器(C#WebBrowser控件)中显示来自XML的数据,可能使用某种样式表作为html。C#:XML转换

的问题是我怎么能申请改造现有的XML没有像

<?xml-stylesheet type="text/xsl" href="my-style.xsl"?> 

我想到的地方复制一个XML插入任何内容,然后添加此XML的样式表,然后显示它在浏览器中。但也许我可以动态地应用样式表?

也许有可能在内存中保存XML,应用样式表并将内存xml加载到WebBrowser控件?

我只是想知道这样做的最佳方法是什么...

回答

7

当然,你可以!看看XslCompiledTransform课。所以你可以在内存中转换你的XML,然后加载转换后的文档。

+0

你能给我举一个例子如何将转换后的XML输出到浏览器中?使用Stream或XmlWriter? – Ksice

+0

嗯..看起来像我的WebBrowser不显示数据...真的很奇怪!当我使用MessageBox.Show()时,我可以看到该页面,但在消息关闭后,它再次隐形:( – Ksice

0

请参阅the XPath Visualizer用于生成HTML格式的XML文档的XSLT转换。

或者,您也可以查看IE的defaultss.xsl样式表,但要注意它使用XSLT的非标准方言 - 严格来说不是XSLT。