XML可能不会作为正确的XML返回

  • 本文关键字:XML 返回 c# xml stream
  • 更新时间 :
  • 英文 :


我正在尝试创建一个rest服务,该服务将返回具有包含信息的属性的XML元素列表。

当我从浏览器运行这个rest服务器时,我得到了浏览器返回的正确显示的XML。但是,当我在windows窗体中运行它并尝试从XML中提取属性时,它只提取第一个属性。

这是显示给浏览器的XML。

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
<catalog version="1.1">
<dataset id="XXX" name="XXX" description="XXX" datatype="XXX" rank="XXX" saropsrank="XXX" format="XXX" starttime="XXX" endtime="XXX" extentleft="XXX" extentbottom="XXX" extentright="XXX" extenttop="XXX" source="XXX" wmslayeridstr="XXX" confidence="XXX" directionfrom="XXX" image="XXX" />
</catalog>
</string>

然而,当我将流转换为字符串并将XML显示为文本框时,我得到&lt;而不是<&gt;而不是>。我想这是因为我正在将this转换为字符串。

这是我必须检索XML的代码。

WebRequest restWebRequest = WebRequest.Create(url);
            restWebRequest.Method = "GET";
            restWebRequest.ContentType = "application/x-www-form-urlencoded";
            // Send the web request, and get the response from
            WebResponse response = restWebRequest.GetResponse();
            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);
            string responseFromServer = reader.ReadToEnd();
            textBox1.Text = responseFromServer;

我尝试从responseStream中提取XML元素。

任何帮助都会很棒。

谢谢!

对我来说,下面的代码给出了正确的输出。

WebRequest restWebRequest = WebRequest.Create(@"C:TestProjectsWebApplication4WebApplication4XMLFile1.xml");
restWebRequest.Method = "GET";
restWebRequest.ContentType = "application/x-www-form-urlencoded";
// Send the web request, and get the response from
WebResponse response = restWebRequest.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseFromServer = reader.ReadToEnd();
TextBox1.Text = responseFromServer;

我认为你正在从数据库获取XML。尝试使用CDATA标签。

我希望这些链接会对你有用:http://weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape-an-XML-string-in-C.aspx

相关内容

  • 没有找到相关文章