如何显示XML?

21 浏览
0 Comments

如何显示XML?

WebRequest req = HttpWebRequest.Create("http://example.com/example");
WebResponse res = req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
string str = sr.ReadToEnd();
XmlDocument doc = new XmlDocument();
doc.LoadXml(str);
XmlTextWriter writer = new XmlTextWriter("D://myGameSite//myGames.xml", null);
writer.Formatting = Formatting.Indented;
doc.Save(writer);
// 将 XML 文件内容输出到响应中以在浏览器中显示
Response.ContentType = "text/xml";
Response.Write(doc.InnerXml);

\n现在这段代码完美地工作,即将 XML 文件保存在 myGameSite 的根目录下,并命名为 myGames。但是,当我尝试在浏览器中显示该 XML 文件时,它只是简单地显示以下内容:\nSystem.Xml.XmlDocument\n我想在浏览器中显示包含标签的 XML 文件,并且我的 asp.net 和 .netframework 版本是 2.0,因此请注意我无法使用 LINQ 🙁

0
0 Comments

问题出现的原因是需要将XML内容进行展示,但是目前的代码只能将XML内容写入文件,没有进行格式化和展示。解决方法是修改代码,将XML内容写入输出流并进行格式化展示。

具体的解决方法如下:

1. 首先将XML内容写入输出流,并设置输出流的格式为"text/xml":

Response.ContentType = "text/xml";
Response.Write(str);

2. 为了进行格式化展示,需要使用XmlWriterSettings类来设置输出流的格式选项,例如设置缩进:

var settings = new XmlWriterSettings();
settings.Indent = true;

3. 使用XmlWriter类将格式化后的XML内容写入输出流:

using(var writer = XmlWriter.Create(Response.Output, settings)) {
  doc.Save(writer);
}

整理后的代码如下:

Response.ContentType = "text/xml";
Response.Write(str);
var settings = new XmlWriterSettings();
settings.Indent = true;
using(var writer = XmlWriter.Create(Response.Output, settings)) {
  doc.Save(writer);
}

0
0 Comments

如何显示XML?

问题原因:

在最后一行使用Response.Write(doc.InnerXml);来显示XML,但是它只显示了没有任何标签的内容。

解决方法:

可以使用以下代码来显示XML,并保留标签:

Response.ContentType = "text/xml";
Response.Write(doc.OuterXml);
Response.End();

0
0 Comments

问题:如何显示XML?

原因:在给定的代码中,有人询问如何显示XML。可能是因为在处理XML数据时,需要将其以可读的方式显示出来,以便于调试或查看。

解决方法:提供了两种解决方法。第一种方法是使用Response.Write将XML以预格式显示在网页上。该方法使用Server.HtmlEncode函数对XML进行编码,然后将其放置在<pre><code>标签中显示。第二种方法是在一个多行文本框中显示XML。需要设置TextModeMultiLine,并将XML内容赋值给文本框的Text属性。

代码示例:

Response.Write("<pre><code>" + Server.HtmlEncode(doc.InnerXml) + "</code></pre>");
// This will preserve indentation 
txtXml.Text = doc.InnerXml;

注意:如果需要保留XML的缩进格式,可以使用<pre>标签。或者可以使用多行文本框来显示XML。

编辑:将<pre>标签添加到代码中,可以保留XML的缩进格式。或者可以使用多行文本框来显示XML。

0