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

时间:2011-09-19 13:12:57

标签: c# xml stream

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

当我从浏览器运行此休息服务器时,我得到正确显示的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;而不是>。我认为这是因为我将其转换为字符串。

以下是我必须检索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元素。

任何帮助都会很棒。

谢谢!

1 个答案:

答案 0 :(得分:1)

对于我来说代码是正确的输出。

WebRequest restWebRequest = WebRequest.Create(@"C:\TestProjects\WebApplication4\WebApplication4\XMLFile1.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标签。

我希望这些链接对您有用:C# object to XML

http://weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape-an-XML-string-in-C.aspx

相关问题