Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET页面上显示XML的最简单方法_C#_Asp.net_Xml_Vb.net - Fatal编程技术网

C# 在ASP.NET页面上显示XML的最简单方法

C# 在ASP.NET页面上显示XML的最简单方法,c#,asp.net,xml,vb.net,C#,Asp.net,Xml,Vb.net,我在XmlDocument中有一些XML,我想在ASP.NET页面上显示它。(XML应该在一个控件中;页面将有其他内容。)现在,我们正在使用XML控件来实现这一点。问题是,XML显示时没有缩进。丑陋的 看起来我应该为它创建一个XSLT,但这似乎有点无聊。我宁愿把它放到一个控件中,让它自动解析XML并正确缩进。有没有一种简单的方法可以做到这一点?一种快速(而且不干净)的方法是使用IFrame 事实上,XSLT是格式化XML以供显示的“理想”方式。另一个选择是手动解析以显示 要使用Iframe,请执

我在XmlDocument中有一些XML,我想在ASP.NET页面上显示它。(XML应该在一个控件中;页面将有其他内容。)现在,我们正在使用XML控件来实现这一点。问题是,XML显示时没有缩进。丑陋的

看起来我应该为它创建一个XSLT,但这似乎有点无聊。我宁愿把它放到一个控件中,让它自动解析XML并正确缩进。有没有一种简单的方法可以做到这一点?

一种快速(而且不干净)的方法是使用IFrame

事实上,XSLT是格式化XML以供显示的“理想”方式。另一个选择是手动解析以显示

要使用Iframe,请执行以下操作: ASPX侧:

< iframe runat="server" id="myXMLFrame" src="~/MyXmlFile.xml" /></pre>

您可以尝试使用XmlWriter/XmlTextWriter,设置编写器的缩进属性,写入StringBuilder或MemoryStream,并将结果输出到标记中

您可以找到一个稍加修改的XSLT版本,IE在IE中查看时将XML转换为HTML


我在WinForms应用程序中的WebBrowser控件中使用了它,它的工作方式很有魅力。不过,我还没有在FireFox/Chrome/Safari/Operat中对其进行测试。

您想将其显示为包含其他内容的页面的一部分,还是只显示浏览器可以处理的XML?作为包含其他内容的页面的一部分。(编辑以澄清)tag,这就是我所缺少的。谢谢发布后,我在这里找到了一些创建格式化XML的示例代码:您能更具体一些吗?我不清楚我需要在代码中做什么来填充iframe。如果XML是字符串而不是文件,我怎么做?(可能有一些方法不必写临时文件。)1种方法是将IFrame重定向到同一页面,向它传递一个查询字符串变量,告诉它输出XML(通过response.write),然后将页面的内容类型更改为XML,最后调用response.end,这样就不会继续页面的生命周期
myXMLFrame.src = Page.ResolveClientUrl("~/MyXmlFile.xml")