C# 在WebBrowser中显示XML而不保存临时文件

C# 在WebBrowser中显示XML而不保存临时文件,c#,xml,silverlight,C#,Xml,Silverlight,我有一个Silverlight应用程序,我需要在文本框或WebBrowser控件中显示XML内容,但该XML存储在数据库中并经过压缩 我发现了一些教程和问题,其中人们获取XML字符串,将其保存在临时文件中,然后调用Navigate方法,传递这个临时文件路径。然而,我的应用程序在客户端是Silverlight,所以我可能在用户机器上存储临时文件时遇到权限问题 在文本框中显示字符串是一个选项,但问题是XML内容可能会被压缩,因此很难读取 我知道我可以将此文件保存在服务器上,然后将此文件URL传递到我

我有一个Silverlight应用程序,我需要在文本框或WebBrowser控件中显示XML内容,但该XML存储在数据库中并经过压缩

我发现了一些教程和问题,其中人们获取XML字符串,将其保存在临时文件中,然后调用Navigate方法,传递这个临时文件路径。然而,我的应用程序在客户端是Silverlight,所以我可能在用户机器上存储临时文件时遇到权限问题

在文本框中显示字符串是一个选项,但问题是XML内容可能会被压缩,因此很难读取

我知道我可以将此文件保存在服务器上,然后将此文件URL传递到我的Silverlight应用程序,然后打开浏览器窗口,但我只是在寻找一个完全在客户端完成的简单解决方案


是否有一些简单的方法可以格式化(解压缩)此XML,或者有一种简单的方法可以在WebBrowser中将此字符串作为XML打开而不保存临时文件?

它是压缩的还是未缩进的?您应该能够手动设置web浏览器控件中的内容,因此获取xml字符串并只在浏览器控件中写入xml内容。我过去常常先导航到about:blank,这样浏览器就有一个窗口对象和一个文档对象。我想我的意思是不缩进。我需要缩进显示它,例如,当您使用Internet Explorer打开XML文件时。缩进字符串是一种解决方案,所以我只是将其显示在文本框中。只需尝试将xml内容写入浏览器控件。我相信你能找到方法。是的,silverlight浏览器控件有一个NavigateToString()方法。您可以将其传递给xml内容