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