我正在尝试创建一个休息服务,该服务将返回包含信息的属性的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显示到文本框时,我得到<
而不是<
和>
而不是>
。我认为这是因为我将其转换为字符串。
以下是我必须检索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元素。
任何帮助都会很棒。
谢谢!
答案 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