0

我正在调用一个 web api 服务,它从 umbraco(cms) 获取一个文本页面,并在文字控件中显示它的关联 xml。在比较源代码与 httpwebrequest 时,我得到了奇怪的 html 输出。

我在页面加载中使用此代码来调用服务

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://111.111.111.111:8080/api/PageContentApi?id=1122");
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode == HttpStatusCode.OK)
            {
                Stream stream = response.GetResponseStream();
                using (StreamReader reader = new StreamReader(stream))
                {
                    string html = reader.ReadToEnd();
                    aboutText.Text = html;
                }
            }

我收到的字符串信息是:

[{"Id":1122,"Name":"sample","Alias":"bodyText","Value":"<p>This is a sample test</p>\r\n<p> </p>\r\n<p>two returns</p>\r\n<p> </p>\r\n<p>one return</p>\r\n<p>     spaces   spaces  <strong>bold  </strong><em> italic   </em><span style=\"text-decoration: underline;\">underline</span></p>\r\n<p> </p>\r\n<p><img width=\"201\" height=\"75\" src=\"http://111.111.111.111/media/1001/logo.gif\" alt=\"logo\"/></p>","Version":"b8cbd32e-b946-4b1f-ae72-2564b7757479","Created":"1/1/0001 12:00:00 AM","ParentId":-1}]

当我在执行 get 后在 Firefox 中手动查看源代码时,我看到了完全不同的东西:

<ArrayOfPageContent xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/name.Models"><PageContent><Alias>bodyText</Alias><Created>1/1/0001 12:00:00 AM</Created><Id>1122</Id><Name>sample</Name><ParentId>-1</ParentId><Value>&lt;p&gt;This is a sample test&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;two returns&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;one return&lt;/p&gt;
&lt;p&gt;     spaces   spaces  &lt;strong&gt;bold  &lt;/strong&gt;&lt;em&gt; italic   &lt;/em&gt;&lt;span style="text-decoration: underline;"&gt;underline&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img width="201" height="75" src="http://111.111.111.111/media/1001/logo.gif" alt="logo"/&gt;&lt;/p&gt;</Value><Version>b8cbd32e-b946-4b1f-ae72-2564b7757479</Version></PageContent></ArrayOfPageContent>

为什么我会看到不同类型的响应,以及将这个从 umbraco 抓取的内容渲染到 ASP 网页的最佳方式是什么。

4

1 回答 1

3

您从程序接收到的信息是 JSON 格式,而在 Firefox 中,您接收的是 XML 格式的信息。

如果您阅读了我没有使用过的关于 umbraco 的文档,您很可能可以将一个参数添加到 GET URL 以请求 JSON 或 XML。

于 2013-06-12T23:46:30.483 回答